![]() |
Prozess beenden und wieder starten
Hallo!
Hier mein (Anfänger-)Problem: Ich würde gerne einen laufenden Prozess beenden, dessen Exe-Namen ich kenne. Danach soll die gerade beendete Anwendung wieder neu gestartet werden. Ich kenne nur den Exe-Namen des Prozesses, nicht den Ort der Exe-Datei. Kann jemand helfen? |
Re: Prozess beenden und wieder starten
Beenden eines Prozesses:
Delphi-Quellcode:
Um ein Programm zu starten, ist
function KillTask(const AExeName: string): boolean;
var p: TProcessEntry32; h: THandle; begin Result := false; p.dwSize := SizeOf(p); h := CreateToolHelp32Snapshot(TH32CS_SnapProcess, 0); try if Process32First(h, p) then repeat if AnsiLowerCase(p.szExeFile) = AnsiLowerCase(AExeName) then Result := TerminateProcess(OpenProcess(Process_Terminate, false, p.th32ProcessID), 0); until (not Process32Next(h, p)) or Result; finally CloseHandle(h); end; end; ![]() Wenn du den Pfad nicht kennst, musst du ihn aber irgendwie vorher auslesen. Gruß, ManuMF |
Re: Prozess beenden und wieder starten
Zitat:
Jetzt suche ich aber immernoch nach einer Möglichkeit, den Pfad herauszufinden. Edit: Okay, auf die Gefahr einer Verwarnung hin kokretisier ich mal mein Problem (auch wenn das dann am Thema vorbei ist): Der Prozess, der neu gestartet werden soll ist die Anwendung ICQ 5. Vielleicht kann mir ja jemand sagen, sie ich den Installationspfad ermittle ...in der Registry bin ich noch nicht fündig geworden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz