IOException - Welcher Prozess?
-
Guten Morgen,
wenn ich einen Datei-Stream öffnen will, bekomme ich eine Fehlermeldung, dass die Datei von einem anderen Prozess verwendet wird!
Kennt jemand von euch eine Möglichkeit, um an den Namen des Prozesses zu gelangen, der mir diese Datei sperrt?
Ich will diesen Prozess nämlich sofort abschießen...Hoffe, es gibt dafür ne Lösung...
Grüße
-
Du kannst dir mal "Unlocker" besorgen und damit gucken welcher Prozess das ist. Greifst du auf eine Datei zu die im ablauf deines Programmes irgendwann erzeugt wurde? oder ist das eine "Systemdatei" also eine die in keinem direkten Zusammenhang mit deinem Programm steht?
-
Da hast du mich falsch verstanden
Ich weiß schon welches Programm, das ist, bloß muss ich zur Laufzeit rausfinden, welches Programm mich stört und dieses dann abschießen...
Es kann nämlich immer ein anderes sein!!!Grüße
-
Wenn du die Datei nur lesen willst, könntest du auch einfach eine Kopie erstellen und diese öffnen.
-
Hhmm, interessant.
Ich habe mir ein Testprogramm geschrieben, dass eine Datei mittels eines StreamReaders öffnet und nach dem Öffnen stehen bleibt (Breakpoint).
Versuche ich nun mit meinem Programm auf die Datei zuzugreifen, bekomme ich erwartet, eine IOException geworfen!
Zippe ich jedoch dieses File mit einem gewöhnlichen Packprogramm, werden hier keinerlei Fehler geworfen!Wie kann des möglich sein? Gibt es eine andere Möglichkeit auf Dateien zuzugreifen als mit Streams??
Ich bin echt am Grübeln...Grüße
-
Schau Dir mal FileMode und FileAccess an.
Wenn Du ständig das Problem hast, dass Dir fremde Programme den Zugriff auf eine Datei nicht gestatten solltest Du Deinen Anwendungsfall untersuchen. Das fremde Programm ab zu schießen kann auf keinen Fall eine Lösung sein - erst recht nicht wenn diese Programme schreibend Zugriff auf die Datei haben.
[edit]gewähren durch nicht gestatten ausgetauscht[/edit]
-
Yeah, mit
FileMode.Open
und
FileAccess.Read
gehts perfekt!!
Vielen Dank
-
Hallo Mario!