windows - 如何设置 Windows 执行级别以向用户询问 Rust 程序的管理员权限?
问题描述
我正在编写一个 Windows CLI 应用程序,我需要以管理员身份运行它。在 C# 中,我会将这一行添加到 app.manifest:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
我如何在 Rust 中做到这一点?
解决方案
为时已晚,但还是回答了。:-)
请看看winres
图书馆。它包含以下示例:
以下清单将 exe 标记为请求管理员权限。因此,每次执行时,都会出现一个 Windows UAC 对话框。
let mut res = winres::WindowsResource::new(); res.set_manifest(r#" <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> </requestedPrivileges> </security> </trustInfo> </assembly> "#);
完整示例已记录在案并可在此处获得。
我一直在一个包含图标并需要管理员权限的项目中使用这个库,它的build.rs
使用winres
托管在这里。查看生成的可执行文件:
高温高压
推荐阅读
- node.js - 在 Meteor 之外生成 Meteor.JS ObjectID
- roku - Roku 转移 Roku 频道
- ssl - 是否可以使用 Protractor 测试 SSL 证书的有效性?
- python - 根据其他列中的值创建新列
- rest - Angular 7 get方法将rest API BASE URL附加到应用程序URL中
- python - 使用selenium点击链接的网页抓取问题
- c# - 向用户手机图库显示图像
- ruby - 使用 xpath (Nokogiri) 解析特定路径
- php - 查询工作正常,但在某些情况下它没有插入数据
- php - 获取谷歌公共假期日历的国家 ID 列表