C# WinForm在Win7系统中以管理员权限运行
来源:互联网 发布:mac pages删除空白页 编辑:程序博客网 时间:2024/04/29 08:16
在VS2010 IDE开发环境中,查看当前项目中是否包含了app.manifest文件,如果没有,则添加“应用程序清单文件”。
双击此文件,发现其是一xml格式的文件,有节点如下:
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC 清单选项
如果要更改 Windows 用户帐户控制级别,请用以下节点之一替换
requestedExecutionLevel 节点。
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
指定 requestedExecutionLevel 节点将会禁用文件和注册表虚拟化。
如果要利用文件和注册表虚拟化实现向后
兼容性,则删除 requestedExecutionLevel 节点。
-->
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
文件中相关节点的注释已经说得很明确,具体参数的解释如下,参考自链接 http://msdn.microsoft.com/zh-cn/library/bb384691.aspx:
asInvoker:应用程序将使用与启动它的进程相同的权限运行。 可通过选择“以管理员身份运行”将应用程序提升为更高权限。
highestAvailable:应用程序将使用可能的最高权限级别运行。 如果启动该应用程序的用户为管理员组的一个成员,则此选项与 requireAdministrator 相同。 如果可用的最高权限级别高于打开进程的级别,则系统将提示提供凭据。
requireAdministrator:应用程序将使用管理员权限运行。 启动该应用程序的用户必须是管理员组的一个成员。 如果打开进程未使用管理权限运行,则系统将提示提供凭据。
下面是判断当前程序是否运行于管理员身份下的一段代码(需要 using System.Security.Principal; ):
//用户
WindowsIdentity identity = WindowsIdentity.GetCurrent();
//用户组
WindowsPrincipal principal = new WindowsPrincipal(identity);
if (principal.IsInRole(WindowsBuiltInRole.Administrator) == true)
{
MessageBox.Show("当前程序处于管理员身份运行下!");
}
else
{
MessageBox.Show("当前程序不处于管理员身份运行下");
}
- C# WinForm在Win7系统中以管理员权限运行
- vs2005 中引入app.manifest(c#程序在win7下以管理员权限运行方法)
- VS 中引入app.manifest(c#程序在win7及以上windows版本下以管理员权限运行方法)
- C#中 以管理员权限运行脚本
- 编写C#程序让其在Win7 下以管理员权限运行
- 编写C#程序让其在Win7 下以管理员权限运行
- 编写C#程序让其在Win7 下以管理员权限运行
- Winform程序在win7中默认以管理员身份运行
- C#程序 Win7 下提示以管理员权限运行
- vs2005 生成的应用程序 在win7下以管理员权限运行
- C#程序以管理员权限运行
- C#程序以管理员权限运行
- C#程序以管理员权限运行
- C#程序以管理员权限运行
- C#程序以管理员权限运行
- C#程序以管理员权限运行
- C#程序以管理员权限运行
- c#程序以管理员权限运行
- C# 使用Oracle.DataAccess.dll注意事项
- C#里面如何利用流获取一个记事本内容的行数
- 设计模式 - 装饰模式
- 数据格式之间与类型之间的转换方法
- JQuery Ajax调用asp.net后台方法
- C# WinForm在Win7系统中以管理员权限运行
- 对象的当前状态使该操作无效-asp.net
- 正则表达式语法详解
- dir \B >log.txt 在批处理中失败的问题(参数前置符号需要为/才行:dir /B >log.txt)
- Balsamiq Mockups(原型制图)
- SQL Server数据库Split函数的使用方法
- WordPress 图片(缩略图)插件 WP Thumbnails
- Linux上配置postfix发送邮件
- RMAN 错误集锦