.netcore 控制台程序,在window操作系统中,怎么获取管理员权限运行此程序
2023-12-20 11:42:19
在.NET Core控制台程序中设置管理员权限运行需要以下步骤:
- 在项目的
app.manifest
文件中指定管理员权限:
<requestedExecutionLevel level="requireAdministrator" />
将app.manifest
文件设置为嵌入式资源
- 在程序中获取管理员权限:
static void Main(string[] args)
{
var identity = WindowsIdentity.GetCurrent();
var principal = new WindowsPrincipal(identity);
if (principal.IsInRole(WindowsBuiltInRole.Administrator))
{
// 程序以管理员权限运行
}
else
{
// 以非管理员权限运行,需要重新启动程序
var startInfo = new ProcessStartInfo();
startInfo.FileName = Assembly.GetExecutingAssembly().Location;
startInfo.Verb = "runas";
Process.Start(startInfo);
return;
}
// 程序正常逻辑
}
- 运行程序,当程序以非管理员权限运行时,Windows会弹出一个用户账户控制(UAC)提示框确认是否允许程序以管理员权限运行。用户确认之后,程序即可以管理员权限运行。
注意:由于需要在app.manifest
中指定管理员权限,因此程序需要重新生成和发布。在程序运行时无法动态获取管理员权限。
文章来源:https://blog.csdn.net/weixin_43542114/article/details/135101455
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!