CreateProzess(): Wie kommt man auf Prozesshandle?
-
Hallo! Ich brauche das Prozesshandle um den prozess später mit TerminateProzess zu beenden. Wie komme ich auf das handle?
-
OpenProcess ?
-
HANDLE WINAPI OpenProcess(
__in DWORD dwDesiredAccess,
__in BOOL bInheritHandle,
__in DWORD dwProcessId
);
kann mir jemand ein beispielcode geben?
-
HANDLE process = OpenProcess( 0, FALSE, die_process_id );Wenn du die Prozess-ID nicht hast, kannst du sie mit EnumProcesses holen oder aber, da du den Prozess evtl durch ein Fenster siehst, EnumWindows gefolgt von GetWindowthreadProcessId.
edit: Oh je, hab das "CreateProcess" im Titel übersehen

-
eine der structs, die man CreateProcess mitgeben muss, enthält wenn CP zurückkehrt, u.a. das (oedr den?) handle. man braucht also keine extra funktion aufzurufen.

-
du übergibst CreateProcess() doch eine PROCESS_INFORMATION (nennen wir sie mal pi).
da hast du dann das handle drin.. es nennt sich hProcess. Also pi.hProcess.
-
Ja danke, genau das meinte ich!