我想制作一个修改我的主机文件的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. 在Delphi中请求驱动程序安装的管理员权限
- 4. 问题让程序管理员权限?
- 5. 请求管理员权限的Java应用程序在Windows Vista上
- 6. 在卸载期间请求管理员权限
- 7. 如何申请管理员权限?
- 8. 程序如何要求管理员权限?
- 9. 程序如何要求管理员权限?
- 10. 请求管理权的应用程序的某些操作(没有全职管理员权限)
- 11. 在应用程序中请求权限
- 12. Winforms应用程序请求管理权限
- 13. Windows 7上的Visual Studio 2005始终请求管理员权限
- 14. 如何使用NSIS请求管理员权限?
- 15. 检查请求的用户是否具有管理员权限
- 16. 运行期间请求管理员权限
- 17. 创建需要管理员权限的C#应用程序
- 18. 以管理员权限运行c#程序的一部分
- 19. C#.NET:获取管理员权限?
- 20. C#管理员权限 - 检查
- 21. 如何检查管理员权限C#
- 22. 如何在Java应用程序中实现管理员权限?
- 23. 在Mac应用程序中提升为管理员权限
- 24. 在Delphi中使用管理员权限开发应用程序
- 25. 在Django中管理人员权限
- 26. 在vb.net中创建管理员权限
- 27. 管理员权限错误
- 28. TFS/MSTest管理员权限
- 29. 停止没有管理员权限的进程/程序 - python
- 30. 限制Django管理员更改权限
我不确定这会回答你的问题 –
它回答第一句话,但通过外部手段回避第二句。 –