Winapi 为什么我可以在UAC打开的情况下从程序文件中写入特定目录?

Winapi 为什么我可以在UAC打开的情况下从程序文件中写入特定目录?,winapi,windows-vista,uac,Winapi,Windows Vista,Uac,这对我来说很奇怪。让我列出设置: 带有清单的应用程序(即:不会推送到虚拟存储) UAC已打开(无法写入其他程序文件目录或其他区域,并显示UAC提示符) 可以从我的应用程序内(不是以管理员身份运行)以及非管理员命令提示符写入“c:\program files\%app\U name%\%directory%\” 无法写入“c:\program files\%app\u name%\%directory%\%subdirectory%\” 有什么想法吗?是否有隐藏的权限或注册表设置?难道这个目录

这对我来说很奇怪。让我列出设置:

  • 带有清单的应用程序(即:不会推送到虚拟存储)
  • UAC已打开(无法写入其他程序文件目录或其他区域,并显示UAC提示符)
  • 可以从我的应用程序内(不是以管理员身份运行)以及非管理员命令提示符写入“c:\program files\%app\U name%\%directory%\”
  • 无法写入“c:\program files\%app\u name%\%directory%\%subdirectory%\”
有什么想法吗?是否有隐藏的权限或注册表设置?难道这个目录是在UAC关闭时创建的,所以现在是公平的吗?这个目录可能是在XP时代创建的,而且是公平的吗

这对我来说很有意义,为什么我不能写入其他程序文件目录和子目录。但是我不知道为什么我被允许写入%directory%

旁注:如果我将%directory%移动到另一个区域(appdata),我仍然无法写入子目录(混乱)

让我知道你的任何想法或任何我可以检查的东西


谢谢

编辑:啊,对不起,我浏览你的帖子有点太快了,看起来这不是问题

你看过书面文件的实际去向了吗

Vista有一项功能,应用程序写入程序文件文件夹的文件将被重定向到本地每用户存储。此存储位于%userprofile%\AppData\Local\VirtualStore

这是为了允许将每用户设置写入程序文件的遗留应用程序仍能正确运行,同时也允许多个用户无冲突地使用该程序

资源管理器中有一个名为“兼容性文件”的按钮,它将带您访问此用户存储。。也许你的作品就在那里结束了


我不知道你为什么不能写到子目录。安全权限?

编辑:啊,对不起,我浏览你的帖子有点太快了,看起来这不是问题

你看过书面文件的实际去向了吗

Vista有一项功能,应用程序写入程序文件文件夹的文件将被重定向到本地每用户存储。此存储位于%userprofile%\AppData\Local\VirtualStore

这是为了允许将每用户设置写入程序文件的遗留应用程序仍能正确运行,同时也允许多个用户无冲突地使用该程序

资源管理器中有一个名为“兼容性文件”的按钮,它将带您访问此用户存储。。也许你的作品就在那里结束了


我不知道你为什么不能写到子目录。安全权限?

绝对不会写入虚拟存储。因为,即使应用程序的清单不起作用,我很确定cmd.exe不会在那里抛出东西。非常奇怪,谢谢你的输入。这似乎与安全权限有关。不知道它是怎么变成这样的…肯定不是写信给虚拟商店的。因为,即使应用程序的清单不起作用,我很确定cmd.exe不会在那里抛出东西。非常奇怪,谢谢你的输入。这似乎与安全权限有关。不知道怎么会这样。。。