2014-01-18 105 views
2

嘿,我試圖通過使用此代碼來發動對啓動我一直做它就好了一個應用程序:運行作爲啓動管理員

RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); 
if (rkApp.GetValue("Folder Locker") == null) 
{ 
    rkApp.SetValue("Folder Locker", Application.ExecutablePath.ToString()); 
} 

但現在當我這樣做:

requestedExecutionLevel level="requireAdministrator" uiAccess="false" 

以管理員身份啓動該應用程序在啓動時不啓動我需要幫助我希望這將是一個小問題,而不是一個大問題。

+3

通常,正常的應用程序不應該需要管理員權限,這就是爲什麼UAC會在運行應用程序時提示他們 - 最好考慮另一種方法,比如作爲Windows服務運行,以及執行任何操作根據需要IPC –

+0

http://superuser.com/a/537101/198092這個問題確實屬於超級用戶 - 並且是超級用戶和超級用戶的重複 –

回答

3

你不能讓應用程序在登錄時運行,這將提升並以某種方式繞過UAC對話框。這幾乎會打敗UAC的目的。

選項包括:

  • 接受用戶將被提示進行提升。
  • 修改您的應用程序,使其不需要提升。如果某些操作需要提升,則啓動新的提升進程以執行這些任務
  • 在UAC不適用的會話0中將流程作爲服務運行。
相關問題