Verhindern, dass ein bestimmtes Programm gestartet wird

DaRealMC

Erfahrenes Mitglied
Gibt es eine einfache Art, dass während der Laufzeit meines Programmes ein anderes nicht gestartet werden kann?
Wenn ich z.B. 2 Programme im Autostart habe, die beide die gleiche Datei bearbeiten, bekommt das zweite Programm ja einen Fehler. Ich will also im ersten Programm festlegen, dass das zweite nicht gestartet werden kann.
Konkret: mit meinem Programm von gestern sichere ich die PST-Datein weg. Hat jetzt wer Outlook im Autostart, lädt das, während mein Programm noch die PST-Datein kopiert.
-> unnötiger Fehler
 
Du könntest in das 2te Programm eine überprüfung einbauen, nach dem motto
C++:
if((file = fopen(Datei, "a")) == NULL){ 
//dein Programm beendet sich
}

oder du könntest in deinem Ersten Programm einen thread starten, der das andere Programm beendet sobald es gestartet wird, ich weiß aber nicht, wie sowas geht.
Ansonsten kannst du diesen thread auch in ein drittes Programm einbauen, das mit dem ersten zusammen gestartet wird, und genau das selbe macht. Das könntest du dann mit Autohotkey schreiben, da ist das sehr einfach.
gruß Ryu1991
 
Zuletzt bearbeitet von einem Moderator:
Nein, mein Programm darf sich auf keinen Fall beenden und muss fehlerfrei durchlaufen.

Naja, andrerseits... Outlook im Autostart ist keine von uns abgesegnete Änderung der Userumgebung -> Pech, wenn die PSTs dann nicht gesichert werden...
 
Hi.
Nein, mein Programm darf sich auf keinen Fall beenden und muss fehlerfrei durchlaufen.

Naja, andrerseits... Outlook im Autostart ist keine von uns abgesegnete Änderung der Userumgebung -> Pech, wenn die PSTs dann nicht gesichert werden...
Ist das nicht etwas übertrieben?! Das ist doch keine "Änderung der Userumgebung" wenn eine Verknüpfung im Autostart Ordner angelegt wird...

Du könntest das Kopieren ja selbst erledigen und die Datei mit CreateFile und den Flags GENERIC_READ, FILE_SHARE_READ und FILE_SHARE_WRITE öffnen. In diesem Modus dürfen mehrere Prozesse auf die Datei zugreifen.

Siehe http://msdn2.microsoft.com/en-us/library/bb540534(VS.85).aspx

Gruß
 
Zurück