Entwickler-Ecke
Windows API - Kill Task Probleme
CurdledMilk - Mi 26.04.06 19:57
Titel: Kill Task Probleme
Hallo ich hätte hier mal ein Problem mit einer Funktion die Laufende Tasks beenden kann nur leider kapier ich die irgend wie nicht so richtig. Der Quelltext war halt unkommentiert als ich den gekriegt hab -leider. Wäre nett wenn mal jemand den groben Ablauf erklären könnte.
MfG
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| function KillTask(ExeFileName: string): integer; const PROCESS_TERMINATE=$0001; var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize := Sizeof(FProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
while integer(ContinueLoop) <> 0 do begin if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName))) then Result := Integer(TerminateProcess(OpenProcess( PROCESS_TERMINATE, BOOL(0), FProcessEntry32.th32ProcessID), 0)); ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end;
CloseHandle(FSnapshotHandle); end; |
Moderiert von
Gausi: Topic aus Algorithmen, Optimierung und Assembler verschoben am Mi 26.04.2006 um 20:08
uall@ogc - Do 27.04.06 01:27
So ganz murks war se auch nicht. Auch wenn es ein bisschen umständlich gemacht war.
Process32First/Next liefern die die Processe, damit der kernel weiß welcher der nächste ist, wird halt mit CreateToolHelpBla ein Handle erstellt.
CurdledMilk - Fr 28.04.06 20:35
hallo!
vielen dank erst mal, doch das scheint sich grad alles ein bisl zu schwer für mich herauszustellen. Ich schau mir erst ma ein paar tuts zu winapi an und werd mich dann noch ma an das thema setzen.
mfg
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!