whisper Geschrieben 22. November 2002 Geschrieben 22. November 2002 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 Zitieren
progmaker Geschrieben 22. November 2002 Geschrieben 22. November 2002 Lösungsansätze zum Auflisten der laufenden Prozesse in Delphi findest du im Internet wie Sand am Meer. Zitieren
geloescht_JesterDay Geschrieben 22. November 2002 Geschrieben 22. November 2002 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; Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.