2009-06-01 13 views
2

Gibt es eine Möglichkeit, das Programm, das eine Datei sperrt, in Vb 2005 zu bekommen?Wie kann ich feststellen, welches Programm in VB 2005 eine Datei verwendet?

Zum Beispiel, wenn ich versuche, eine Datei zu öffnen, die bereits von einem anderen Programm geöffnet ist, kann ich den Namen des Prozesses/Programms, die diese Datei gesperrt hat, erhalten?

+0

Ich muss sagen, das ist kein Duplikat die zuvor gemocht Frage ist über C# das ist VB. – UnkwnTech

+0

Allerdings gibt es eine relevante Antwort dort, obwohl es nur für Dlls http://stackoverflow.com/questions/317071/how-do-i-find-out-which-process-is-locking-a-file-c funktioniert/317209 # 317209 – UnkwnTech

Antwort

3

System Internals verfügt über ein Tool namens Handle, das Sie verwenden können. Es sagt Ihnen, welches Programm welche Datei und/oder welches Verzeichnis geöffnet hat. Es ist eine Konsolenanwendung. Sie können die Ausgabe in eine Textdatei pipen und dann einfach diese Textdatei öffnen und nach der gesuchten Datei suchen. Dann können Sie sehen, welcher Prozess es geöffnet hat.

c:\handle > output.txt 
+0

Sie können ProcessExplorer auch von derselben SysInternals Suite installieren (Download unter http://download.sysinternals.com/Files/SysinternalsSuite.zip) und nach Handles im Suchfeld suchen. Auf diese Weise können Sie sogar den beleidigenden Prozess (oder Thread, wenn Sie am Rande leben wollen) töten. Aber Griff ist viel schneller. –

Verwandte Themen