Abend,
mit folgenden Code möchte ich einen Prozess beenden:
Delphi-Quellcode:
function KillProcess(const ExeName: String): Boolean;
var
Process: TProcessEntry32;
h: THandle;
begin
Result := False;
Process.dwSize := SizeOf(Process);
h := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
try
if Process32First(h, Process) then
repeat
if AnsiLowerCase(Process.szExeFile) = AnsiLowerCase(ExeName) then Result := TerminateProcess(OpenProcess(Process_Terminate, False, Process.th32ProcessID), 0);
until (not Process32Next(h, Process)) or Result;
finally
CloseHandle(h);
end;
end;
//Aufruf:
KillProcess(IncludeTrailingPathDelimiter(GetShellFolder(CSIDL_PROGRAM_FILES)) + 'Windows Sidebar\sidebar.exe');
Es passiert aber nichts, die Anwendung wird nicht beendet. Was mache ich falsch?