C#程序在Windows 6.2以上版本默认管理员权限运行 方法一:
- VISTA 和 Windows 7 都使用了UAC来控制程序访问,对于一些需要使用管理员身份运行的程序就得右键以管理员身份运行。
- C# 编程中可以使程序自动使用管理员身份运行,也就是我们常常看到一些程序的图标上会冒出个盾牌。
- 方法:在源码的Properties目录中找到 app.manifest,
- 将其中level="asInvoker" 改成 level="requireAdministrator"就可以了,
- 如果没有app.manifest文件可以打开项目属性,找到安全性项,勾上启用 ClickOnce 安全设置,这时会生成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="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
<applicationRequestMinimum>
<defaultAssemblyRequest permissionSetReference="Custom" />
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
</applicationRequestMinimum>
</security>
</trustInfo>
方法二:
- Win+R -- regedit
- 找到以下位置
- HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
- 新建一个字符串值,命名为"c:\windows\system32\cmd.exe" (以CMD.EXE为例子)
- 然后右键--修改 -- 数值数据写入“RUNASADMIN”,确定 !
- 如果嫌这样操作麻烦的话就直接复制吧,以系统安装在C盘32位为准:
- Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]"c:\\windows\\system32\\cmd.exe"="RUNASADMIN"
- 打开记事本,复制粘贴入以上代码,另存为1.reg,然后双击导入注册表即可。
- OK,这下我们Win+R输入cmd,启动时就已经默认是管理员身份了。
方法三:
联系我:
|