gpt4 book ai didi

c# - 如何跳过 VirtualStore 并读取 Program Files 文件夹中的文件?

转载 作者:太空狗 更新时间:2023-10-29 18:31:14 24 4
gpt4 key购买 nike

我在 Windows 10 PC 上有一个 c# 应用程序。我想阅读安装文件夹 (C:\Program Files (x86)\xxx) 中的设置文件,但除非用户具有管理员访问权限,否则无法编辑。问题是 Windows 正在将这些设置文件复制到 VirtualStore 并将所有读取重定向到那里 - 而以管理员身份运行的同一应用程序会在 Program Files 文件夹中看到原始设置文件。

我的问题:有没有办法让应用程序在不以管理员身份运行时也能看到 Program Files 中的原始文件?我只想阅读它们,而不是编辑它们。

最佳答案

您不需要提升权限即可从 Program Files (x86) 文件夹中读取文件。检查您如何打开文件进行阅读。您应该在普通用户模式和提升模式下指定不同的 FileAccess 标志。对于普通用户模式,应该使用“FileAccess.Read”打开它:

using (FileStream settingsFile = new FileStream(@"C:\Program Files (x86)\xxx", FileMode.Open, FileAccess.Read))
{
// Do the job
}

要检测应用程序是否以提升的权限运行,请使用 IsProcessElevated方法。根据结果​​,您可以选择适当的 FileAccess 模式。

关于c# - 如何跳过 VirtualStore 并读取 Program Files 文件夹中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40172389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com