Einzelnen Beitrag anzeigen

Benutzerbild von Guido R.
Guido R.

Registriert seit: 5. Jul 2007
141 Beiträge
 
Delphi 12 Athens
 
#1

Prüfen, ob EXE in Benutzung ist

  Alt 17. Sep 2012, 12:19
Hallo !

Folgende Situation :
Auf einem verbundenen Netzlaufwerk ('N:\') befindet sich eine EXE-Datei ('Programm.EXE'), die von mehreren PCs im Netzwerk aufgerufen werden kann (auch gleichzeitig). Nirgendwo wird festgehalten, wie viele PCs gerade diese Datei geöffnet haben. Nun soll von einem dieser verbundenen PCs das Programm aktualisiert werden und zwar mittels eines eigenen Programms ('Update.EXE').
Wie kann ich sicherstellen, dass keiner der anderen PCs die Programm.EXE noch geöffnet hat?

Die Lösungen mit IsFileInUse, die man hier im Forum finden kann, haben hier zu keinem akzeptablen Ergebnis geführt. Die scheinbar simple Lösung die Exe-Datei zu Löschen und bei Erfolg die neue EXE in das Verzeichnis zu kopieren hat unter Win7 ebenfalls versagt. Das Löschen scheint zu funktionieren, obwohl die EXE auf einem anderen PC genutzt wird, beim Schreiben kommt es aber zu Problemen.

Kennt noch jemand eine Methode festzustellen, ob die EXE in Benutzung ist?

Gruß
Guido R.
  Mit Zitat antworten Zitat