如何强制我的.NET应用程序以管理员身份运行?
一旦我的程序安装在客户机上,我如何强制我的程序在Windows 7上以管理员身份运行?
您需要修改嵌入到程序中的清单。 这适用于Visual Studio 2008及更高版本:Project +添加新项目,选择“应用程序清单文件”。 将<requestedExecutionLevel>
元素更改为:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
用户在启动程序时获得UAC提示。 明智地使用; 他们的耐心会很快磨损。
为你的清单添加一个requestedExecutionLevel
元素只是战斗的一半。 你必须记住UAC可以关闭。 如果是这样,你必须执行检查旧学校的方式,如果用户不是管理员,则会出现错误对话框
(在线程的CurrentPrincipal
上调用IsInRole(WindowsBuiltInRole.Administrator)
)。
我实现了一些代码来手动完成它:
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;
}
链接地址: http://www.djcxy.com/p/17179.html
上一篇: How do I force my .NET application to run as administrator?