Anderes Programm starten und wieder Beenden
-
Hallo,
Ich möchte ein anderes Programm aus meinem Programm starten aber ich möchte es mit meinem Programm auch wieder Beenden können. Da Problem ist eher wie kann ich es Beenden???
-
Mit FindWindow das Fenster der anderen Anwendung suchen und ihm (per SendMessage) z.B. WM_NCDESTROY schicken.
Eventuell gibt's auch noch sauberere Lösungen über ShellExecuteEx oder CreateProcess, ich verschieb das mal nach "WinAPI".
-
Zu CreateProcess is hier ein nettes Beispiel:
http://www.bytesandmore.de/rad/cpp/snipp/sc03001.php
Das ist auf jeden fall die komfortabelste Lösung! Wenn auch nicht die einfachste...
-
Nein! Das ist nicht gut, weil TerminateProcess() verwendet wird. Das sollte man nur in äußersten Notfällen benutzen. Wenn das andere Programm nicht dein eigenes ist, dann lässt sich das aber wohl kaum vermeiden (oder aber, man nimmt die FindWindow()-Geschichte). Wenn das andere Programm dein eigenes ist, dann kannst du ihm ja dein Fensterhandle als Parameter mitgeben. Dann kann das Programm dich darüber benachrichtigen, welches sein eigenes "Hauptfenster-Handle" ist. Wenn man nun das Programm schließen will, so kann man WM_CLOSE an dieses Fensterhandle senden.
-
Nein das andere Programm ist Winamp. Ich wollte ein Programm schreiben was nach einer bestimmten Zeit Winamp beendet.
-
hallo!! schau mal da:
http://www.c-plusplus.net/forum/viewtopic.php?t=39369&highlight=terminateprocessmfg surf.