我想製作一個修改我的主機文件的C程序,但是我不能直接用程序打開文件,因爲Windows會阻止它。有什麼方法可以讓程序在代碼中請求管理權限,或者我可以使用任何腳本以管理員模式啓動程序?在C程序中請求管理員權限?
回答
拍攝,好吧,發佈這個問題後的幾秒鐘,我找到了一個解決方案。事實證明,您可以右鍵單擊可執行文件,單擊屬性,然後在兼容性選項卡上,選擇「以管理員身份運行此程序」。以防萬一其他人需要這些信息。
右擊是一種解決方案,允許您以管理員權限運行任何程序。這包括勾選「屬性」中的框。
在Windows 7或更高版本,你也可以讓其名稱中包含setup
重命名程序(如hosts_setup.exe
),它會自動在管理員模式下運行(會彈出UAC提示)在資源管理器中,如果雙擊。請注意,這隻能通過在資源管理器中雙擊來實現。
您還可以看看How can I run a child process that requires elevation and wait?。它稱爲WinAPI,是一種相當原生的方法。最好的解決方案是add it in menifest,以便您的程序在啓動時請求管理員。
我不是Windows用戶,但我需要問:這是否意味着在你運行它之後,用戶被要求輸入Windows管理員密碼。或者我錯了? – Michi
@Michi它帶來了UAC提示。沒有什麼可以滑過去的。 – iBug
@Michi,如果表現爲requireAdministrator,那麼如果調用者尚未升級,則CreateProcess失敗,並返回ERROR_ELEVATION_REQUIRED。調用者可以使用「runas」操作通過「ShellExecuteEx」重試。這會將請求發送到名爲「Application Information」的系統服務,該服務在請求的會話的安全桌面上運行consent.exe(UAC對話框)。如果獲得同意,服務會調用'CreateProcessAsUser'來運行給定會話中的升級進程。控制檯應用程序分配一個提升的控制檯(conhost.exe實例),而不是繼承父級的控制檯。 – eryksun
- 1. 如何在程序啓動時請求管理員權限?
- 2. 從C++應用程序請求Win Vista/7的管理員權限
- 3. C++降管理員權限
- 4. 在Delphi中請求驅動程序安裝的管理員權限
- 5. 問題讓程序管理員權限?
- 6. 某些程序的管理員權限
- 7. 請求管理員權限的Java應用程序在Windows Vista上
- 8. 管理員權限
- 9. 在卸載期間請求管理員權限
- 10. 在運行時請求管理員權限
- 11. 如何申請管理員權限?
- 12. 管理員權限在php
- 13. 程序如何要求管理員權限?
- 14. Visual Basic程序 - 要求管理員權限
- 15. 程序如何要求管理員權限?
- 16. 請求管理權的應用程序的某些操作(沒有全職管理員權限)
- 17. 在應用程序中請求權限
- 18. 如何使用NSIS請求管理員權限?
- 19. Windows 7上的Visual Studio 2005始終請求管理員權限
- 20. 運行期間請求管理員權限
- 21. 檢查請求的用戶是否具有管理員權限
- 22. 部分C#應用程序的管理員權限
- 23. 以管理員權限運行c#程序的一部分
- 24. 創建需要管理員權限的C#應用程序
- 25. 問管理員權限C++窗口
- 26. 如何檢查管理員權限C#
- 27. C#.NET:獲取管理員權限?
- 28. C#管理員權限 - 檢查
- 29. 在Mac應用程序中提升爲管理員權限
- 30. 如何在Java應用程序中實現管理員權限?
我不確定這會回答你的問題 –
它回答第一句話,但通過外部手段迴避第二句。 –