给exe添加管理员权限的几种方法&修改exe兼容性属性的方法

        有些程序我们必须以管理员权限才能运行,但是我们又不想”右键”->”以管理员权限运行”。那么我们就只有给exe增加管理员权限了。

1.如果是vs编译的exe可以通过配置属性。项目-》XXX 属性-》配置属性-》链接器-》清单文件。然后重新编译。可以根据需求选择UAC绕过UI保护(弹出来一个框让选择是否管理员权限运行)。

《给exe添加管理员权限的几种方法&修改exe兼容性属性的方法》

2.如果是单独的已经编译好的exe文件,我们可以通过注入manifest的方式,给它赋予管理员权限,即使拷贝到其他电脑上也带有管理员权限。

方法: 通过mt.exe工具导入

1).将下面这段文本保存到txt中

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level='requireAdministrator' uiAccess='true' />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

2).使用cmd命令行来导入,mt的下载地址:mt.exe

D:\> .\mt.exe -nologo -manifest  .\manifest.txt -outputresource:example.exe

这样就ok了。

3.通过修改注册表达到“右键”->”兼容性”->”以管理员权限运行”的效果。文件的“兼容性”信息并不存在文件本身,所以每次设置完后拷贝到其他电脑或者目录,这些属性就会丢失。我们如果需要同城自动化修改就需要修改注册表信息。

cmd命令行执行:

reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "D:\example.exe" /t REG_SZ /d "~ RUNASADMIN" /f

 “~ RUNASADMIN”就是“以管理员权限运行的”属性值。 如果需要修改“兼容win7 ”属性,可以自己先手动修改属性,然后看注册表项“HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers”,增加了什么信息(~ WIN7RTM)。

    原文作者:_山有木兮
    原文地址: https://blog.csdn.net/sstya/article/details/121909984
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞