Externes Programm

CodeFatal

Erfahrenes Mitglied
Hallo,
ich bräuchte mal etwas Hilfe bei einem Problem mit einem externen Programm.

In meiner Software rufe ich mit:
Code:
		SHELLEXECUTEINFO info;
		ZeroMemory(&info,sizeof(SHELLEXECUTEINFO));
		info.cbSize = sizeof(SHELLEXECUTEINFO);
		info.fMask = SEE_MASK_FLAG_NO_UI | SEE_MASK_NOCLOSEPROCESS;
		info.lpFile = _T("\\Windows\\iesample.exe");
		info.hwnd = SourceDlg->GetSafeHwnd();
		ShellExecuteEx(&info);
eine externe Exe auf.
Das Klappt soweit auch bestens.
Allerdings ist es jetzt notwendig geworden, das ich mit bekomme, wann diese Exe wieder beendet wurde. Egal mit welchem Exit Code.
Ich bin davon ausgegangen, das das übergebende Hwnd beim Beenden benachrichtigt wird. Durch die Flut an MSG's ist es mir aber nicht möglich gewesen die richitge rauszupicken...

Hat jemand nen heißen Tip?

Danke schon mal

Gruß Michael
 
Da solltest du anstelle von ShellExecute() lieber CreateProcess() verwenden. Mit WaitForSingleObject() kannst du anschließend das Ende des Prozesses (Programms) feststellen. Da diese Funktion blockiert, solltest du das Ganze in einem eigenen Thread laufen lassen.

Gruß
MCoder
 
Zurück