Benutzer mit den meisten Antworten
überprüfen ob eine Datei geöffnet ist???

Frage
-
Hallo,
ich öffne eine Textdatei wie folgt:
AutomationFactory.CreateObject("WScript.Shell").Run(@"C:\Test\test.txt");
Und ich möchte jetzt überprüfen ob die Datei noch geöffnet ist oder nicht und das mache ich wie folgt:
try { File.Move(@"C:\Test\test.txt", @"C:\Test\Ergebnis.txt"); MessageBox.Show("Die Datei kann bewegt werden"); } catch { }
Habe aber das Problem, dass obwohl die Datei noch geöffnet ist, ich sie trotzdem umbenennen kann.
Kann jemand mir vielleicht sagen, wie ich in meinem Fall überprüfen kann, ob die Datei noch geöffnet ist oder nicht?
Gruesse, NUNUI
Antworten
-
Hi,
durch das starke Sandboxing wohl nicht.
VLG, Tobi
Best Regards. When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer. This helps us build a healthy and positive community.
- Als Antwort vorgeschlagen Stefan Falz Dienstag, 4. Oktober 2016 07:07
- Als Antwort markiert Nunui Dienstag, 4. Oktober 2016 07:09
Alle Antworten
-
Hi,
willst Du die Datei exklusiv öffnen? Also nur für deinen Prozess? Falls ja, schau mal in diesen Thread:
Dort findest Du auch einen Ansatz, wie Du feststellen kannst, ob die Datei noch von einem anderen Prozess/User aus geöffnet wurde.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hi,
gar nicht.
Aber warum willst Du das überhaupt so machen?
https://msdn.microsoft.com/en-us/library/y973b725(v=vs.95).aspx
Öffne die Datei doch einfach über File.Open!?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hi,
was meinst Du "für den Anwender ausführen"?
Du willst doch eine Textdatei öffnen, oder? Falls ja, bau doch einfach ein Textfeld in deine Anwendung, lade den Inhalt dort rein (sperr evtl. die Datei solange), speichere die Änderung (und gib evtl. die Datei dann auch wieder frei).
Wenn der Anwendung die Datei in Notepad selbst bearbeiten soll, kannst Du die nicht aus deiner Anwendung heraus sperren. Wie soll das auch gehen? Dann könnte Sie durch Notepad ja auch nicht mehr bearbeitet werden.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
es geht nicht nur um die Textdateien sondern auch um andere Dateitypen, z.B. Worddokumente oder Exceldateien, usw. und daher möchte die Datei aus dem Programm heraus starten und dann wenn der Anwender mit seiner Arbeit fertig ist und die Datei gespeichert und geschlossen hat, die Datei dann auf dem Server hochladen!
Gruesse, NUNUI
-
Hi,
in dem Fall kannst Du meines Wissens nach keine Sperren setzen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Stefan Falz Dienstag, 4. Oktober 2016 07:07
-
Hi,
durch das starke Sandboxing wohl nicht.
VLG, Tobi
Best Regards. When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer. This helps us build a healthy and positive community.
- Als Antwort vorgeschlagen Stefan Falz Dienstag, 4. Oktober 2016 07:07
- Als Antwort markiert Nunui Dienstag, 4. Oktober 2016 07:09