ExecFile Programm im hintergrund starten

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

US-Blitz

ehemals "SimssmiS"

Betreff: ExecFile Programm im hintergrund starten

BeitragMi, Aug 25, 2010 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Problem ExecFile Startet alles im fordergrund nun sollen aber kleine programme mittels execfile im hintergrund geöffnet werden wie geht das?
ich brauche lösungen fals es sich auf spezifische anwendungen beziht für firefox i-net explorer und bb.exe

Thunder

BeitragMi, Aug 25, 2010 20:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du mit "im Hintergrund", versteckt meinst: ExecFile kann diese Programme nicht im Hintergrund öffnen, weil diese Programme nicht dafür vorgesehen sind im Hintergrund geöffnet zu werden. Du kannst die erstellten Fenster höchstens nach dem starten des Prozesses wieder verstecken (WinAPI-Funktionen: ShowWindow, GetForegroundWindow ...)

mfg Thunder

Edit: @Totensturm: nö, geht nicht nur mit WinAPI. Bei quelloffenen Anwendungen (bitte korrigieren, falls Firefox nicht quelloffen ist) kann er sich den Code runterladen, die Stellen die er braucht reinschreiben und neukompilieren. Außerdem gibt es noch die Möglichkeit direkt den Maschinencode so zu manipulieren, dass die Fenster des Programms versteckt gestartet werden.
Die WinAPI ist lediglich der einfachste Weg den ich sehe.

Edit2: @US-Blitz: hätte ein Programm, das sowas macht überhaupt einen Sinn? Ich kann mir jetzt nichts vorstellen.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
  • Zuletzt bearbeitet von Thunder am Mi, Aug 25, 2010 22:17, insgesamt 3-mal bearbeitet
 

Sterbendes Lüftlein

BeitragMi, Aug 25, 2010 22:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

Hubsi

BeitragMi, Aug 25, 2010 22:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Totensturm hat Folgendes geschrieben:
das hauptfenster automatisch schließen und wieder via execfile starten.


Wenn die Anwendung erstmal tot ist kann sie sich nicht selbst wieder starten? Oder ich habe Dich total falsch verstanden Mr. Green
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Sterbendes Lüftlein

BeitragDo, Aug 26, 2010 9:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

US-Blitz

ehemals "SimssmiS"

BeitragDo, Aug 26, 2010 10:24
Antworten mit Zitat
Benutzer-Profile anzeigen
totensturm klasse idee in der theorie aber blitz läuft im hintergrund nicht sobald das erste programm geöfnet ist läuft das andere nicht weiter war bei mir jedenfals so

Thunder

BeitragDo, Aug 26, 2010 10:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Das musst du mit WinAPI machen. Einerseits brauchst du SetForegroundWindow und Findwindow aus der WinAPI und andererseits könnte dir Au3Info.exe (aus AutoIt) helfen, herauszufinden welche Parameter du FindWindow übergeben musst.
Ich habe jetzt keine BlitzBasic-Funktion gefunden, die den Handle des Fensters zurückgibt. Bei BlitzPlus-Fenstern brauchst du FindWindow nicht sondern kannst den Handle mit QueryGadget ermitteln.

Mit FindWindow bekommst du den Handle des BB-Fensters und mit SetForegroundWindow setzt du es in den Vordergrund.

mfg Thunder

Edit: Ach, ich hab eh bei SystemProperty geschaut, aber weiteren Parameter übersehen... Kleingedrucktes...
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
  • Zuletzt bearbeitet von Thunder am Do, Aug 26, 2010 13:40, insgesamt einmal bearbeitet

Eingeproggt

BeitragDo, Aug 26, 2010 10:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Wiedermal so n Thread wo alle durcheinander reden und niemand so recht weiß was die anderen meinen Razz

@Totensturm:
Rückgabewert von ExecFile gibts nur in B+, dort könnte deine Methode funktionieren... Allerdings würde sich das Programm selbst neu starten weshalb alle bisher vorgenommenen Dinge (kA was, also zB im Moment besuchtes Menu, alle geladenen Spieldaten, blabalbla - sprich ALLE Variablen) wieder zurück gesetzt werden.

@Thunder:
Würde dir SystemProperty("AppHWND") das liefern was du suchst? Wink

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

tft

BeitragDo, Aug 26, 2010 14:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

such mal im Forum nach der Run.dll. Die hat jemand mal extra dafür gemacht. Sie enthält einige Funktionen um Programme zu starten und zu prüfen ob sie noch laufen. Das BB Programm läuft dabei weiter.

.lib "RunProgram.dll"
RunProgram%(path$)
ProgramEnded%(hProcess%)

Gruss TFT
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!
 

Sterbendes Lüftlein

BeitragDo, Aug 26, 2010 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group