Also arbeite ich an einem einfachen .NET-Programm für die Arbeit und hit ein wenig von einem seltsamen Roadblock, den ich kann ' t herausfinden. Die Anwendung verwendet eine Konfigurationsdatei, die Anwendungen zu einem Dropdown-Menü hinzufügt. Bevor es jedoch zum Menü hinzugefügt wird, gibt es system.io.file.exists, um sicherzustellen, dass die Datei mindestens zum Zeitpunkt der Erstellung des Menüs vorhanden ist.System.IO.File.Exists (@ "C: Windows System32 SnippingTool.exe") gibt false zurück
Allerdings gibt System.IO.File.Exists (@ "C: \ Windows \ System32 \ SnippingTool.exe") false zurück, aber die ausführbare Datei ist da. Ebenso gibt stikynot.exe auch false zurück. Andere Dateien im Verzeichnis system32 geben true zurück (wie Notepad). Ich kann diese Anwendungen filestat, aber mein .net Programm kann sie gerade nicht lesen und system.io.file.exists gibt false zurück. Ich habe verschiedene Berechtigungen ohne Glück überprüft. Es scheint für einige Anwendungen isoliert zu sein, aber ich bin mir nicht sicher warum.
Das Konto ist, dass das Programm unter Berechtigungen für das Verzeichnis zu navigieren haben läuft? Wenn nicht, werden Sie bei diesem Aufruf falsch angezeigt. – Oded
Ja, und andere Anwendungen in diesem Verzeichnis können problemlos gefunden werden. – Morcalavin
mögliches Duplikat von [C# Überprüfen Sie, ob eine ausführbare Datei im Windows-Pfad existiert] (http://stackoverflow.com/questions/3855956/c-sharp-check-if-an-executable-exists-in-the-windows-path) – Arion