Autor Beitrag
yogo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: Do 22.01.09 20:47 
Hallo,
Ich weiss leider nicht, ob dies der richtige Ort ist, aber dies ist das einzige Forum, von dem ich weiss, dass mir vielleicht jemand helfen kann.

Mein Problem ist Folgendes:
Ich habe ein Programm(ein fremdes, das ich nicht verändern kann), das sich nocheinmal selber startet und wieder beendet(Einige Male in der Sekunde).
Dabei legt es für jede Instanz diverse Verzeichnisse und Registry-Keys an.
Leider kann ich dem Problem nicht auf den Grund gehen, da jedes Mal ungeheure Mengen an Datenmüll anfallen.

Gibt es die Möglichkeit, von Windows, einem anderem Programm oder etwas Selbstgeschriebenem aus, zu verbieten, dass ein Prozess gestartet wird, wenn dieser bereits läuft?

Ich habe schon versucht die Richtlinien von Windows dafür zu benutzen, aber dort kann ich weder einen neuen Sicherheitsgrad anlegen noch ein konkretes Objekt angeben.
Ich weiss nicht, ob und wie ich

Hat jemand von euch eine Idee?

viele Grüße, yogo


Zuletzt bearbeitet von yogo am Do 22.01.09 22:01, insgesamt 1-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 22.01.09 21:12 
Die FAQ hier kennst du aber?
www.delphi-library.d...ewtopic.php?p=113393
Den Teil, mit dem die alte Instanz aktiviert wird, kannst du natürlich auch weglassen.

Oder meinst du ein fremdes Programm?
yogo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: Do 22.01.09 21:59 
Ups, das hatte ich vergessen zu schreiben. Ich meine ein fremdes Programmm.
Wen's interessiert: Der Launcher für WoW(Seit dem Patch haben einige Leute Probleme mit dem Ding)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 22.01.09 22:04 
Wodurch meinst du denn den Mehrfachstart? Durch die Verknüpfung im Startmenü oder so?

Dann ändere mit deinem Programm doch einfach diese Verknüpfung auf ein eigenes Programm, das den Launcher startet und solange läuft wie dieser dann läuft. In dieses Programm kannst du den Code einbauen. Das ist wohl die einfachste Lösung.
(Den Launcher selbst umbenennen und ersetzen ist glaube ich keine gute Idee, weil der beim Patchen wieder ersetzt würde. Wäre aber auch möglich.)

Die "Wasserstoffbomben auf Spatzen"-Methode (O-Ton user profile iconNarses bei einem ähnlichen Problem :mrgreen:) wäre CreateProcess zu hooken.
yogo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: Do 22.01.09 22:23 
Der Launcher kopiert sich selber in einen Ordner im Temp und führt sich dort dann aus.
Aus irgendeinem Grund macht der Neue das dann auch nochmal und beendet sich dann.

Aber die Sache mit dem Hook ist interessant.

Wenn das schon jemand gemacht hat, hat doch sicher noch jemand ne dll davon....

Mit Hooks hab ichs nicht so(Ich musste schon nen paarmal neuinstallieren)


Zuletzt bearbeitet von yogo am Do 22.01.09 22:28, insgesamt 1-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 22.01.09 22:28 
user profile iconyogo hat folgendes geschrieben Zum zitierten Posting springen:
Mit Hooks hab ichs nicht so(Ich musste schon nen paarmal neuinstallieren)
Das sollte eigentlich immer auch anders wieder hinzubekommen sein, wenn man weiß was man tut...

Aber dann hast du ja sicher daraus gelernt, wie wichtig Backups sind, wenn man am System herumspielt. Wenn du kein Backup hast, das du einfach zurückspielen kannst (und deine Festplatte entsprechend partitioniert hast), dann kann ich nur sagen: selbst schuld. :nixweiss:

Um CreateProcess abzufangen sollte dir diese Bibliothek von Microsoft Research helfen:
research.microsoft.c...us/projects/detours/
yogo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: Do 22.01.09 23:02 
Ich glaube, ich sollte lieber mein System heile lassen, dann spare ich mir all den Aufwand mit Backups. :-)


Ich wusste garnicht, dass man von Microsoft neben den Sysinternals auch noch anderes Systemschonendes bekommt.

Ich danke dir für den Link, ich werde sehen, was ich draus machen kann.

Edit: Ich denke mal das wird gehen. Wenn ich Probleme mit dem Hook habe, frage ich in der Delphi Sektion.

Danke!