2012-06-26 67 views
3

我在Windows 7下編寫了一個使用Qt的應用程序。該應用程序以普通用戶權限啓動,但我想獲得管理員權限,因爲我想修改註冊表以自動啓動應用程序。如何在Windows 7中詢問管理員權限?

我該怎麼做?

+0

可能的重複[可能可執行文件要求管理員權限嗎? (Windows 7)](http://stackoverflow.com/questions/8915744/is-it-possible-for-the-executable-to-ask-for-administrator-rights-windows-7)。你有沒有嘗試[搜索](http://stackoverflow.com/search)? – Deanna

+0

@Deanna:不完全是重複的,因爲這有一個更簡單的解決方案:如果寫入HKEY_CURRENT_USER而不是HKEY_LOCAL_MACHINE,則不需要管理員權限。 – houbysoft

回答

1

請注意,程序運行時無法更改權限。必須以正確的權限將其殺死並重新啓動。

1

要自動啓動應用程序,您不需要管理員權限!而不是在HKLM下(需要管理員權限)添加註冊表項,請使用HKCU,你沒事。

3

你做不是需要管理員權限來自動啓動你的應用程序。

只需編寫相應的鍵:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 

不需要管理員權限(不像同一路徑下HKEY_LOCAL_MACHINE)。

+0

,但只有當記錄的用戶是安裝該應用程序的用戶時纔會啓動該應用程序。 – Jichao

+0

@Jichao:這就是你想要99%的時間。在沒有其他用戶許可的情況下爲其他用戶自動啓動的應用程序非常煩人。 – houbysoft

-1

要使應用程序在HKLM中自動啓動,需要管理權限。但是應用程序的特權在運行時不能改變。

因此,我做了一個新的小應用程序,其任務是隻寫入註冊表,使主應用程序自動啓動。

主應用程序可以使用ShellExecuteEx調用此應用程序以要求管理專用權。

+0

這是一個答案。 – Jichao

+0

假設你的意思是用'runas'動詞,那麼[這個答案已經給出](http://stackoverflow.com/a/11200670/588306)並被接受。 – Deanna

+0

請參閱第二段。 – Jichao