gpt4 book ai didi

c# - 有没有办法判断用户指定的目录是否是启用 UAC 的 Windows 7/Vista 中的 protected 目录(并且不以管理员身份运行)

转载 作者:行者123 更新时间:2023-11-30 17:16:04 25 4
gpt4 key购买 nike

用户可以在几个点上指定数据要保存到的目录,如果用户选择了受 Windows 保护的目录,我希望能够通知他们。我可以只写一个文件来查看操作系统是否允许我,因为 UAC 会将文件写入不同的目录。

最佳答案

您可以尝试将临时文件写入该目录。如果该目录受 UAC 保护并且您未在管理员权限下运行,您将获得 System.UnauthorizedAccessException错误。

编辑:如果@JoeWhite 是正确的并且您正在尝试确定您的应用程序何时受到 UAC 虚拟化的影响。我不相信您可以在应用程序本身中检测到这一点。写入调用将由操作系统自动调整,无需通知您的应用程序。

您可以通过 this article on the Windows Team Blog 阅读更多关于 UAC 虚拟化如何工作的信息.

但这只会影响这些特定情况:

Your application writes to Program Files, Windows directories, or thesystem root (typically the C drive) folders

Your application writes to the Windowsregistry, specifically to HKLM/Software

关于c# - 有没有办法判断用户指定的目录是否是启用 UAC 的 Windows 7/Vista 中的 protected 目录(并且不以管理员身份运行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7531636/

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