C# File.Exist(File_Path) 即使 File_Path 为 true、文件存在并且我有权访问该文件,也会返回 false

标签 c#

我正在编写一个将在 Windows 7 上运行的软件。我正在列出已安装的服务,获取服务的图像路径位置并检查服务文件是否存在。(Dll 或 Exe)。

我正在使用 File.Exist(File_Path) 检查文件位置。对于某些文件,即使文件路径为 true、文件存在并且我有权访问该文件,它也会返回 false

我知道即使该文件存在,如果用户无权访问它,File.Exist(File_Path) 也会返回 false。

例如,它对文件 C:\Windows\System32\appmgmts.dll 返回 true 但它对文件 C:\Windows\System32\audiosrv.dll

返回 false

当我在Windows资源管理器下查看这两个文件的用户权限时,它们是完全相同的。 但 File.Exist(File_Path) 对这些文件返回不同的答案。

我正在以管理员身份运行 Visual Studio 和 Exe 文件。

请给我一些关于这种奇怪行为的建议。

最佳答案

当我在x86配置中执行File.Exists时,我得到相同的结果,但是当我在64中时,两个文件返回true,并且我在网上发现File.Exists在SysWOW64中的案例搜索中,检查这个问题了解更多:check if file exist on 64 bits system using File.Exists

关于C# File.Exist(File_Path) 即使 File_Path 为 true、文件存在并且我有权访问该文件,也会返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17852943/

相关文章:

c# - 如何在 .NET 中实现夜间进程?

c# - 文本框大小不随样式表改变

c# - C# WPF 中的 "Simple MVVM Toolkit"子模型类

c# - 二维图案搜索

c# - HP ALM 12.21 REST API - 401 未经授权 - C#

c# - 智能感知和自动完成 Unity

c# - 我的多线程 HttpClient 有什么问题吗?

c# - 如何集成 NLog 将日志写入 Azure Streaming 日志

c# - 这些操作是等价的吗?

c# - 找不到类型或 namespace 名称 'register'