Ich will das Programm schon "ordentlich" beenden, also nicht killen.
Ich weiß zwar nicht, wie CreateProcess funktioniert, aber ich habe das schon ausprobiert:
Hab mir eine globale Integer-Variable genommen, in der das
Handle meines Prozesses gespeichert wird.
Danach wollte ich dann das Programm zu diesem
Handle beenden:
Delphi-Quellcode:
//Programm starten und Handle speichern
FillChar(Info, SizeOf(Info), 0);
Info.cbSize := SizeOf(Info);
Info.Wnd := Application.Handle;
Info.fMask := SEE_MASK_NOCLOSEPROCESS;
Info.lpVerb := PChar('
open');
Info.lpFile := PChar('
C:\Programme\Windows Media Player\wmplayer.exe');
Info.nShow := SW_Hide;
ShellExecuteEx(@Info);
x := exInfo.hProcess;
//x habe ich als globale Integer-Variable deklariert
//dann Beenden:
PostMessage(x,WM_SYSCOMMAND,SC_Close,0);
Der Code hat aber leider nicht funktioniert...