2016-02-27 48 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

相關問題