为了账号安全,请及时绑定邮箱和手机立即绑定

如何强制我的.NET应用程序以管理员身份运行?

如何强制我的.NET应用程序以管理员身份运行?

小怪兽爱吃肉 2019-05-25 15:16:26
如何强制我的.NET应用程序以管理员身份运行?一旦我的程序安装在客户端计算机上,如何强制我的程序在Windows 7上以管理员身份运行?
查看完整描述

4 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

您将要修改嵌入在程序中的清单。这适用于Visual Studio 2008及更高版本:Project + Add New Item,选择“Application Manifest File”。将<requestedExecutionLevel>元素更改为:

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

用户在启动程序时会收到UAC提示。明智地使用; 他们的耐心很快就会消失。


查看完整回答
反对 回复 2019-05-25
?
月关宝盒

TA贡献1772条经验 获得超5个赞

requestedExecutionLevel清单中添加元素只是战斗的一半; 你必须记住UAC可以关闭。如果是,则必须执行旧学校方式的检查并在用户不是管理员时
调用错误对话框(IsInRole(WindowsBuiltInRole.Administrator)在线程上调用CurrentPrincipal)。

查看完整回答
反对 回复 2019-05-25
?
哔哔one

TA贡献1854条经验 获得超8个赞

我实现了一些手动执行的代码:

using System.Security.Principal;public bool IsUserAdministrator(){
    bool isAdmin;
    try
    {
        WindowsIdentity user = WindowsIdentity.GetCurrent();
        WindowsPrincipal principal = new WindowsPrincipal(user);
        isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);
    }
    catch (UnauthorizedAccessException ex)
    {
        isAdmin = false;
    }
    catch (Exception ex)
    {
        isAdmin = false;
    }
    return isAdmin;}


查看完整回答
反对 回复 2019-05-25
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

您可以在EXE文件中嵌入清单文件,这将导致Windows(7或更高版本)始终以管理员身份运行程序。

您可以在步骤6:创建和嵌入应用程序清单(UAC)(MSDN)中找到更多详细信息。


查看完整回答
反对 回复 2019-05-25
  • 4 回答
  • 0 关注
  • 670 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信