22. November 200223 j Tag miteinander, meine zur Verfügung stehenden Sprachen sind C# und Delphi (bzw. Object Pascal). Nun meine Frage: Wie kann ich aus einem Programm aus einen bestimmten Prozess überwachen (natürlich am Besten identifiziert durch den Dateinamen bzw. Programmpfad)? Ich möchte ein Programm schreiben, das bei Beendigung eines bestimmten anderen Programmes (Smart OnlineController) automatisch die Internetverbindung kappt. Im Prinzip würde es mir reichen, wenn ich irgendwie die Liste der laufenden Prozesse abrufen könnte - diese muss ich ja dann nur nach dem Namen des Programmes bzw. der Executable durchforsten und wenn das Teil nicht in der Liste ist, stellt sich das Programm halt quer. Für Lösungsvorschläge wäre ich sehr dankbar. Mit freundlichen Grüßen, whisper
22. November 200223 j Lösungsansätze zum Auflisten der laufenden Prozesse in Delphi findest du im Internet wie Sand am Meer.
22. November 200223 j Wenn du das Programm selbst startest kannst du es mit CreateProcess mitbekommen, wann das Ding beendet wird: z.B.: var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; begin FillChar(StartupInfo, sizeOf(TStartupInfo), 0); StartupInfo.cb:= SizeOf(TStartupInfo); if CreateProcess(nil, PChar(SetupPfad), nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then begin // Warten bis Setup beendet ist WaitForSingleObject(ProcessInfo.hProcess, INFINITE); CloseHandle(ProcessInfo.hProcess); end;
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.