我的程序(以管理员身份运行)正在对 Program Files 中的目录调用 GetFileAttributes()。
失败,GetLastError() 返回 0x80070005(“访问被拒绝”)。我无法确定用户可能会如何陷入这种情况。该文件夹是我的应用程序之前创建的。它适用于大多数用户,但并非全部。
问题:
如何模拟文件夹的“访问被拒绝”,导致 GetFileAttributes() 函数失败?
以管理员身份运行程序并请求se_backup_name和se_restore_name是否可以解决此问题?
我尝试从安全选项卡中删除用户,但 GetFileAttributes 没有失败。
问题在 Win 7、8、10 上重现。
我知道这个话题确实很老了,但我昨天遇到了同样的问题,我找到了一个解决方案,不是最好的,但确实很有帮助。 此问题来自于用于获取 SCCM 需要使用/安装的文件/dll 的帐户缺乏权限。 请参阅 technet 中的此主题以获取更多信息。
只需进入安全并将关于每个人的权限更改为完全控制。 这是有风险的,因为之后每个人都可以访问该文件夹。更新后即可删除。