以编程方式向可执行文件添加“以管理员身份运行此程序”标志?

use*_*361 0 windows-7 administrator permissions windows-xp

我需要向 Windows (XP, 7, 8) 用户分发一个程序。该程序需要管理权限,因为它添加和删除路由等。问题是可执行文件上的“以管理员身份运行这个程序”标志没有保留,所以我想我可以使用批处理脚本或类似安装脚本的东西以编程方式添加它。

这是正确的方法,如果是,如何添加此标志?

gro*_*taj 7

您可以在可执行文件的资源中包含清单文件。这将使 Windows 需要对该文件在所有系统上的管理员权限。

你可以用 Resource Hacker 打开任何安装程序,你会发现一个像这样的 XML 文件:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2">
    <ms_asmv2:security>
      <ms_asmv2:requestedPrivileges>
        <ms_asmv2:requestedExecutionLevel level="requireAdministrator" uiAccess="false"></ms_asmv2:requestedExecutionLevel>
      </ms_asmv2:requestedPrivileges>
    </ms_asmv2:security>
  </ms_asmv2:trustInfo>
</assembly>
Run Code Online (Sandbox Code Playgroud)

那是清单文件。你需要这样的东西编译成资源。