为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Go 在 Windows 上请求管理权限

如何使用 Go 在 Windows 上请求管理权限

Go
拉丁的传说 2021-10-25 16:16:35
我想要为我的应用程序实现的是,每次我想运行它时都不需要右键单击并选择以管理员身份运行。我希望 Windows 提示我像其他 Windows 应用程序一样获得管理员权限。考虑以下代码:package mainimport (    "fmt"    "io/ioutil"    "time")func main() {    err := ioutil.WriteFile("C:/Windows/test.txt", []byte("TESTING!"), 0644)    if err != nil {        fmt.Println(err.Error())        time.Sleep(time.Second * 3)    }}如果您编译它并双击它,它将打印:打开:C:\Windows\test.txt:访问被拒绝。但是,如果您右键单击并以管理员身份运行,它将创建并写入文件。如何仅通过双击它来请求管理员权限?
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

您需要嵌入一个清单文件,该文件将告诉 Windows 您需要提升的权限。


该页面的示例是:


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity

    version="9.0.0.0"

    processorArchitecture="x86"

    name="myapp.exe"

    type="win32"

/>

<description>My App</description>

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">

    <security>

        <requestedPrivileges>

            <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>

        </requestedPrivileges>

    </security>

</trustInfo>

</assembly>

这个疯狂的帖子建议使用rsrc应该为您解决问题。


查看完整回答
反对 回复 2021-10-25
  • 2 回答
  • 0 关注
  • 515 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信