Directory umbenennen, obwohl es noch benutzt wird.
-
Hallo,
ich hab in mein Prog einen Zipper eingebaut. Nach dem Entpacken will ich das oberste Verzeichnis des relativen Pfads umbenennen. Geht aber nicht, da genau dieses Directory von meiner Applikation noch benutzt wird. Das versteh ich schon mal nicht, da alle drunter liegenden Sachen umbenannt werden können. Auch nach dem kompletten Abbauen der Zip-Komponente lässt sich das Verzeichnis nicht umbenennen. Erst wenn meine Applikation komplett geschlossen ist, dann ist das Verzeichnis wieder freigegeben.
Frage:
Kann ich mit WinAPI den besetzten Handle rauskriegen?
Kann ich das Verzeichnis "gewaltsam" wieder freikriegen ohne meine App zu beenden?Wie gesagt, ich kann mir nicht erklären, was in meiner Applikation dieses Verzeichnis blockiert.
Gruß
-
electron schrieb:
Kann ich mit WinAPI den besetzten Handle rauskriegen?
Das einfachste ist "ProcessExplorer" von sysinternals.com
electron schrieb:
Kann ich das Verzeichnis "gewaltsam" wieder freikriegen ohne meine App zu beenden?
Zumindest nicht ohne Neustart

electron schrieb:
Wie gesagt, ich kann mir nicht erklären, was in meiner Applikation dieses Verzeichnis blockiert.
Ist es bei dir als "aktuelles Verzeichnis" gesetzt (worden)?
-
CloseHantel(hDirectory);
-
Ich habs doch noch gefunden.

Tue niemals:
FindFirstFile(str, &FindFileData);Ich hab den Searchhandle net gebraucht, also hab ich ihn nicht ausgewertet, also hab ich ihn nicht geschlossen.

Tue immer:
HANDLE handle = FindFirstFile(str, &FindFileData);Jochen Kalmbach schrieb:
electron schrieb:
Kann ich mit WinAPI den besetzten Handle rauskriegen?
Das einfachste ist "ProcessExplorer" von sysinternals.com
Und mit API Funktionen? Würd mich grundsätzlich mal interessieren.
tiep schrieb:
CloseHantel(hDirectory);
get_hDirectory(&hDirectory);:p Is nur Spass, aber genau den hab ich ja eben nicht!