作者: Misaya
查看: 2296|回复: 3
打印 上一主题 下一主题

[教程] 【管理员身份运行程序】C#程序在Windows 6.2以上版本默认运行

[复制链接]
跳转到指定楼层
楼主
Misaya 发表于 2014-12-29 15:59:33 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
查看: 2296|回复: 3
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,启动时就已经默认是管理员身份了。

方法三:

联系我:

评分

参与人数 1金钱 +3 收起 理由
乔克斯 + 3 感谢LZ对论坛做出的贡献~

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播
回复 论坛版权

使用道具 举报

地板
yi77b 发表于 2016-7-2 18:22:04 | 只看该作者
mark~
感谢
回复

使用道具 举报

板凳
乔克斯 发表于 2014-12-29 16:14:42 | 只看该作者

坐在你身上就是海绵沙发了,海绵宝宝君。。
沙发
CastleDrv 发表于 2014-12-29 16:11:52 | 只看该作者
只为沙发。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-5-3 09:42, Processed in 0.525885 second(s), 32 queries , Gzip On.

快速回复 返回顶部 返回列表