funktion zum öffnen einer exe datei
-
hi
suche eine winapi fuktion mit der ich eine belibige exe datei öffnen kann.
gut wäre wenn man mit der funktion festellen könne wann die exe wieder geschlossen wird.
so ählich wie der systembefehl halt nur einfacher, ohne hässliches fenster, sicherergruss reima
-
Du kannst doch jede Datei im binären Modus öffnen fopen(...,b) ????
Den Befehl halt habe unter Windows 2000 garnicht gefunden ???
-
CreateProcess, und auf Beendigung warten mit WaitForSingleObject.
Das Warten mit WaitForSingleObject solltest Du aber in einen separaten Thread auslagern, da sonst Dein Programm auf nichts mehr reagiert (zeichnet sein Fenster nicht mehr usw.)
Oder meinst Du "öffnen" im Sinne von "Inhalt anschauen"?
-
Hi!
Die haben dich beide falsch verstanden ;~)
Was du suchst ist:
HINSTANCE ShellExecute( HWND hwnd, // handle to parent window LPCTSTR lpOperation, // pointer to string that specifies operation to perform LPCTSTR lpFile, // pointer to filename or folder name string LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters LPCTSTR lpDirectory, // pointer to string that specifies default directory INT nShowCmd // whether file is shown when opened );MfG, Tolga.
-
Sry. Hepi hat dich doch vertanden. habe oben beide geschriebn..
-
Mit ShellExecute wird's aber schwierig, das Schließen der Anwendung mitzubekommen

-
flenders schrieb:
Mit ShellExecute wird's aber schwierig, das Schließen der Anwendung mitzubekommen

könnte mann nicht einen test machen ob das programm IS_VISIBLE ist(im vordergund steht) wenn dies der fall ist ist normalerweise die andere exe geschlossen (Handelt sich um ein game)
grussr eima
-
flenders schrieb:
Mit ShellExecute wird's aber schwierig, das Schließen der Anwendung mitzubekommen

Mit ShellExecuteEx sollte es aber funktionieren.
-
Dazu passt auch ganz gut der FAQ-Beitrag ShellExecute - Fenster wieder schliessen

-
Was murkst ihr denn alle mit ShellExecute(Ex) herum.
Hepi's Lösung mit CreateProcess() und WaitFor...() ist genau die passende Lösung für dieses Problem.