回答
通过在应用程序清单中使用requestedExecutionLevel
元素,您可以通知Windows,您的应用程序需要以管理员身份运行。
清单文件是一个如下所示的XML文件。它应该被命名为YourApp.exe.manifest并放置在与可执行文件相同的文件夹中。 (也可以嵌入到应用程序的资源,它必须有一个RT_MANIFEST
资源类型和1的ID)
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="YourApp" type="win32"/>
<description>Description of your application</description>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
有关应用程序清单的详细信息,以及如何创建它们,请参阅Create and Embed an Application Manifest (UAC)在MSDN。
请注意,清单仅在Windows Vista及更高版本中受到尊重。如果您的用户在Windows XP上以标准用户身份运行,则您的应用程序将不会以管理员身份启动;您可能需要编写代码来检测这是否会对您的应用程序造成问题。
我试过你的solutino在delphi xe2上使用新的VCL Forms应用程序,用上面的内容创建一个txt文件从<程序集到/程序集>,嵌入在资源强制ID = 1和RT_MANIFEST广告类型,我编译,但后来当我运行它没有任何反应,我应该期望Windows迫使我作为管理员运行? – LaBracca 2013-07-02 07:05:47
@ user193655:你是否已关闭UAC?如果是这样,那么Windows不会提示你升级。否则,你描述的步骤听起来是正确的。作为一个新问题发布完整的细节可能会更好;可能有一些微妙的Delphi特定问题(我不知道),其他Delphi用户可以为您解答。 – 2013-07-02 13:48:06
@BradleyGrainger:来自UAC的地方? – 2017-09-06 07:17:12
另一个选项虽然不推荐用于“每天的应用程序”,但是可以使用“Install”或“Setup”作为名称的一部分为您的可执行文件命名。请记住,如果您不更改任何注册表设置或创建任何新文件,则Windows会向用户显示该程序可能未正常运行的警告。
- 1. 如何强制WPF应用程序以管理员模式运行
- 2. 如何从管理员运行非管理员进程c#应用程序
- 3. 以管理员身份运行VB.NET程序应用程序
- 4. 以管理员身份运行程序
- 5. 以编程方式运行任何应用程序管理模式c#
- 6. C++控制台应用程序提示“以管理员身份运行”以管理员身份运行?
- 7. 在Windows上以管理员身份运行Qt应用程序
- 8. 以管理员身份运行.NET应用程序
- 9. 以管理员身份运行的dotnet核心应用程序
- 10. 以管理员身份运行Javafx应用程序
- 11. 以管理员权限运行python应用程序
- 12. VB6是以管理员身份运行的应用程序
- 13. 以管理员身份运行Android应用程序
- 14. VB6应用程序'以管理员身份运行'问题
- 15. 我的应用程序将以管理员身份运行吗?
- 16. 在Windows上以管理员身份运行Java应用程序
- 17. 如何以管理员模式运行命令
- 18. 使用批处理文件以管理员模式运行cmd
- 19. 允许本地管理员运行应用程序,而无需“以管理员身份运行”
- 20. 如何使安装程序以管理员身份运行
- 21. 如何使控制台应用程序始终以管理员身份运行?
- 22. 如何强制某个应用程序不能以管理员身份运行
- 23. 如何在Qt中以管理员身份运行应用程序
- 24. 如何从以管理员身份运行的C#应用程序打开PDF
- 25. 如何创建服务以管理员模式运行应用程序,或者如何配置应用程序以始终使用批处理脚本的管理员模式运行?
- 26. 只有以管理员身份运行应用程序才能运行?
- 27. WiX安装程序应始终以管理员身份运行
- 28. 如何以管理员身份运行?
- 29. 如何以管理员身份运行?
- 30. vb.net应用程序安装程序(msi)以管理员身份运行
你用什么来部署你的程序? (这是非常相关的,因为你可能需要你的安装程序生成具有“以管理员身份运行”标志设置的快捷方式。) – 2010-03-12 14:35:32