Vì vậy, tôi đang làm việc trên một chương trình .NET đơn giản cho công việc và nhấn một chút của một rào cản lạ tôi có thể ' t tìm ra. Ứng dụng này sử dụng tệp cấu hình để thêm ứng dụng vào trình đơn thả xuống. Tuy nhiên, trước khi nó được thêm vào menu, nó hiện system.io.file.exists để xác minh rằng tệp tồn tại, ít nhất là tại thời điểm menu được tạo.System.IO.File.Exists (@ "C: Windows System32 SnippingTool.exe") trả về false
Tuy nhiên, System.IO.File.Exists (@ "C: \ Windows \ System32 \ SnippingTool.exe") trả về false, nhưng thực thi là ở đó. Tương tự, stikynot.exe cũng trả về false. Các tệp khác trong thư mục system32 trả về true (như notepad). Tôi có thể nhập các ứng dụng này, nhưng chương trình .net của tôi không thể đọc chúng và system.io.file.exists trả về false. Tôi đã kiểm tra các quyền khác nhau mà không có may mắn. Dường như nó được phân lập thành một vài ứng dụng, nhưng tôi không chắc tại sao.
Tài khoản mà chương trình đang chạy có quyền duyệt đến vị trí đó không? Nếu không, bạn sẽ nhận được sai về cuộc gọi này. – Oded
Có, và nó có thể tìm thấy các ứng dụng khác trong thư mục đó tốt. – Morcalavin
có thể trùng lặp của [C# Kiểm tra xem tệp thực thi có tồn tại trong đường dẫn cửa sổ không] (http://stackoverflow.com/questions/3855956/c-sharp-check-if-an-executable-exists-in-the-windows-path) – Arion