Programm im Hintergrund ausführen

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

IonPainter

BeitragDo, März 18, 2004 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm userlib im userlib folder?
 

ZAiMoN

BeitragDo, März 18, 2004 17:17
Antworten mit Zitat
Benutzer-Profile anzeigen
wie im userfolder?

der holt sich doch die aus windows/system die userlib dll dachte ich? und startet von alleine die prozedure/funktion shellexecute?
In Online Games Gilt:

Luck Beats Skill
Lag Beats Skill
Cheat Beats Skill
 

ZAiMoN

Betreff: Commandline() genauer erklären?

BeitragDo, März 18, 2004 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
kann mir mal bitte jemand sagen wie ich commandline() richtig benutzen kann?

Also einpaar gute beispiele und einen code wären nett.
Die beispiele dich ich gefunden habe erklären nicht wie man die Parameter angibt oder ausliest. Bin ziehmlich confused
In Online Games Gilt:

Luck Beats Skill
Lag Beats Skill
Cheat Beats Skill
 

Edlothiol

BeitragFr, März 19, 2004 13:15
Antworten mit Zitat
Benutzer-Profile anzeigen
ZAiMoN hat Folgendes geschrieben:
wie im userfolder?

der holt sich doch die aus windows/system die userlib dll dachte ich? und startet von alleine die prozedure/funktion shellexecute?
Natürlich brauchst du die .decls - Datei, sonst wirds nicht funktionieren. Und die muss im Userlib - Folder sein.
 

ZAiMoN

BeitragFr, März 19, 2004 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
hmmm nunja es funktioniert jetzt aber dafür muss man 1 datei haben die die andere datei im hintergrund startet.

Wie macht man sowas den mit einem Programm?
In Online Games Gilt:

Luck Beats Skill
Lag Beats Skill
Cheat Beats Skill

Vertex

BeitragFr, März 19, 2004 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Öffne Notepad, kopiere folgenden Text hinein:
Zitat:

.lib "shell32.dll"
ShellExecute%(hWnd, lpOperation$, lpFile$, lpParameters$, lpDirectory$, nShowCmd) : "ShellExecuteA"

und speichere es als blub.decls in dem ordner Blitz3D\Userlib ab. Wenn dieser
nicht vorhanden ist, benötigst Du ein Update.
Nun ist die Funktion in Blitz eingebunden, und wird auch wie normale
Blitzbefehle gehighlighted.
Code: [AUSKLAPPEN]
SW_HIDE = 0
hWnd = ShellExecute(0, "open", "IEXPLORE.EXE", "www.blitzforum.de", "C:\Programme\Internet Explorer", SW_HIDE)

Da wird der IE im Hintergrund geöffnet.

Ach und wegen CommandLine$():
CommandLine$ enthält den Übergabeparameter für Dein Programm.
Beim obrigen Beispiel habe ich z.B. den IE mit dem Parameter "www.blitzforum.de" aufgerufen.
Wenn z.B. ein Programm via Drag 'n Drop einer Datei (also Du ziehst eine
Datei auf Deine Exe) übergibt Windows als Parameter den Dateinamen.
Diesen kannst Du dann via CommandLine$() abfragen. Wenn Du Dein
Programm in der IDE testen willst, musst Du unter Program -> Program Command Line einen Text einstellen.
mfg olli
vertex.dreamfall.at | GitHub
 

ZAiMoN

BeitragFr, März 19, 2004 16:42
Antworten mit Zitat
Benutzer-Profile anzeigen
hmmm ja das hab ich schon alles verstanden...

nochmal danke an alle die geholfen haben Razz

aber was ich möchte ist eigentlich das die programm.exe wenn man sie startet im Hintergrund läuft und nicht ein anderes programm im hintergrund laufen lässt.


Wenn ich beispiels weise
Code: [AUSKLAPPEN]

SW_HIDE = 0
hWnd = ShellExecute(0, "open", "programm.EXE", "", "", SW_HIDE)


Wenn das programm gestartet wird startet es sich noch mals im hintergrund. Das liegt daran ... das das Programm sich immer wieder neu aufrufst aber im hintergrund. Das wollt ich eigentlich nicht.

PS: wenn ich den iE oder Winamp starte läuft es im hintergrund aber bei BB programmen nicht... wisst ihr vl warum?
In Online Games Gilt:

Luck Beats Skill
Lag Beats Skill
Cheat Beats Skill
 

ZAiMoN

BeitragFr, März 19, 2004 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
So nun läuft alles wie ich es mir vorgestellt hab.
Hier mal der code für andere damit sie nicht so lange dannach suchen müssen wie ich.

erstellen der "user32.decls" im ordner userlibs mit folgendem inhalt:
Code: [AUSKLAPPEN]

.lib "user32.dll"
GetActiveWindow%(): "GetActiveWindow"
ShowWindow%(hWnd, ncmdShow): "ShowWindow"


und hier der BB code:
Code: [AUSKLAPPEN]

Const SW_HIDE = 0
Const SW_NORM = 1
hWnd = GetActiveWindow()
ShowWindow(hWnd,SW_HIDE)
Delay 10000
ShowWindow(hWnd, SW_NORM)


in diesem beispiel wird das fenster für 10 sekunden versteckt... wenn ihr das showWindow(hwnd, SW_NORM) entfernt bleibt es für immer versteckt. Die zeit könnt ihr dann über das delay steuern wenn ihr nur eine bestimmte zeit versteckt sein wollt.

und nochmal zum schluss:
VIELEN DANK AN ALLE DIE GEHOLFEN HABEN!!!

PS: kann hier jetzt zu Razz
In Online Games Gilt:

Luck Beats Skill
Lag Beats Skill
Cheat Beats Skill
 

Schnuff

BeitragSo, Jan 22, 2006 17:33
Antworten mit Zitat
Benutzer-Profile anzeigen
du musst ja auch die Decls kopieren...
würde mich aber Trotzdem fragen, wie das geht?

*Theard wieder ausgrab*
Programmers dont die. They gosub without return...
 

#pointer#

Gast

BeitragSo, Jan 22, 2006 18:03
Antworten mit Zitat
schreib das Programm doch einfach in C++, da haste sowieso viel leichter Zugriff auf die API. Ich hab das erst letztens gemacht, und es hat wunderbar funktioniert.
Meld dich mal bei mir in ICQ oder MSN...

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group