LabVIEW生成的应用程序主动申请管理员权限

2023-07-06 649点热度 1人点赞 0条评论

在近期项目中遇到了用LabVIEW生成的可执行程序在执行某些功能的时候需要具有管理员权限。最简单的办法就是在执行时通过鼠标右键以管理员身份打开。这样不仅繁琐,而且在设置为开机自动加载时无法自动请求管理员权限而造成部分功能无法使用。

查询资料得知,可通过修改Manifest文件来实现启动时请求管理员权限。微软有提供一个工具(Mt.exe)从已打包的程序中提取这个文件,具体可参见官网说明。

通过Mt.exe工具可以从已编译的可执行程序中提取Manifest。所有在修改Manifest文件设置时需要将LabVIEW代码打包成一个可执行程序

1.在命令行里通过Mt.exe工具提取Manifest

2.在CMD窗口执行 mt.exe -inputresource:LabVIEW可执行程序目录\可执行程序名.exe -out:可执行程序名.manifest

执行成功后即可在LabVIEW可执行程序目录下生成可执行程序名.manifest,

3.通过记事本打开找到

<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>

并修改为

<requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>

4.将修改后的Manifest添加到可执行生成属性中,见见下图

5.重新生成可执行程序,完成后即可看到重新生成的可执行程序图标有一个小锁,说明设置成功,再次执行可执行程序时将会弹出提示框,如果需要直接加载执行,需要在UAC设置中设置为不提示直接提权运行。

wangyongjian

这个人很懒,什么都没留下

文章评论