我正在编写一个将在 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
当我在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/