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
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.
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;
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden