用户可以指定要将数据保存到哪个目录的几个点,我希望能够通知用户他们是否选择了受Windows保护的目录。我可以写一个文件,看看操作系统是否允许我,因为UAC会将文件写入不同的目录。
答案 0 :(得分:2)
您可以尝试将临时文件写入目录。如果该目录受UAC保护且您未在管理员权限下运行,则会出现System.UnauthorizedAccessException错误。
编辑: 如果@JoeWhite正确并且您正在尝试确定您的应用程序何时受UAC虚拟化影响。我不相信你可以在应用程序本身中检测到它。写操作将由操作系统自动调整,而不会通知您的应用程序。
您可以通过this article on the Windows Team Blog详细了解UAC虚拟化的工作原理。
这只会影响这些特定情况:
您的应用程序写入Program Files,Windows目录或 系统根目录(通常是C盘)文件夹
您的应用程序写入Windows 注册表,特别是HKLM /软件