go语言如何请求管理员权限

30
Nov

go语言如何请求管理员权限

使用 mt.exe 嵌入 Manifest 文件: 使用以下命令将 manifest 嵌入到生成的.exe 文件中:


mt.exe -manifest nac.manifest -outputresource:9.exe;#1
验证 Manifest 是否嵌入成功: 使用以下命令确认 manifest 文件是否成功嵌入:

mt.exe -inputresource:"9.exe" -validate_manifest
如果成功,你会看到清单的内容;否则会提示错误信息。

manifest文件内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
  <assemblyIdentity
    version="1.0.0.0"
    processorArchitecture="amd64"
    name="MyApp"
    type="win32" />
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>




如果没有安装 SDK,你可以下载并安装 Windows SDK,然后找到mt.exe工具。




为什么要用这个办法?因为我按照网上的方法,用rsrc嵌入不了,换了电脑和系统都一样,所以只能用这个办法了。