2016-02-27 49 views
0

我无法在C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\内创建快捷方式或创建文件夹,并且在两种情况下都会出现“访问被拒绝”错误。我正在使用C++(WinAPI),并且有兴趣在该文件夹中创建一个快捷方式。用于创建快捷方式的代码可以完美地用于其他位置(例如,在桌面上创建快捷方式)。我该如何解决这个错误?在windows开始菜单中创建快捷方式

+0

你可以手动在自己的用户位置创建一个文件夹吗? – BoBTFish

+0

是的,在Windows资源管理器中,Windows上下文菜单中有“New-> Folder”菜单项,但是该命令需要管理权限。 – IKM2007

+2

“那个命令需要管理权限” - 所以,不,那么。尝试以管理员权限运行程序。 – BoBTFish

回答

-1

写入所有用户的开始菜单需要UAC权限。所以,你需要以管理员身份运行你的应用程序。或者只是使用当前用户开始菜单 “C:\用户\ [CurrentUser] \应用程序数据\漫游\微软\的Windows \开始菜单”

#include <windows.h> 
#include <iostream> 
using namespace std; 

int main() 
{ 
    string StartMenuLocation= 
    (string)getenv("HOMEDRIVE")+"\\Users\\"+(string)getenv("USERNAME")+"\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu"; 
    cout<<StartMenuLocation; 
    cin.get(); 
} 

希望这有助于。

+0

这是基于无证内部,并不能保证工作。实际上,它甚至不适用于所有受支持的Windows版本。 [Remy Lebeau评论](http://stackoverflow.com/questions/35673086/creating-shortcut-inside-windows-start-menu/37418624#comment59027217_35673086)解释说,如何正确地做到这一点。 – IInspectable

+0

@xxx你也可以考虑不建议基于无证行为的答案的建议。你应该改善你的答案。 –

+0

如果您想修理东西,您应该从您的建议答案开始。您可以获得所需的全部信息,以获得可靠的解决方案,适用于所有版本的Windows。 – IInspectable

相关问题