ShellExecute可以访问打开的文件夹

时间:2012-08-31 15:15:40

标签: c++ windows winapi shellexecute

我正在使用ShellExecute(NULL, L"open", szSomeDirectory, 0, 0, SW_SHOWDEFAULT)在资源管理器中打开目录。

我正在尝试打开一个我通常会被You currently do not have permission to access this folder.提示的目录,并且会为我提供访问权限并显示UAC提示。

当我执行ShellExecute时,资源管理器会向我显示一条错误消息Access Denied

我的程序以管理员权限运行,但这似乎并不重要。

如何获得打开此文件夹的权限?

2 个答案:

答案 0 :(得分:1)

想出来。

我的用户帐户无权访问该文件。

我的解决方案是在AccessCheck之前使用ShellExecute来查看我是否可以访问该文件,如果不能,请使用SetNamedSecurityInfo为登录用户帐户添加ACE完全访问。

答案 1 :(得分:0)

您可以在程序的链接器清单中设置UAC级别。

看看这个:Strange file-permissions if apps run as administrator