在windows上执行有关系统设置命令的时候需要管理员权限才能操作,比如修改网卡的禁用、启用状态。双击执行是不能正确执行命令的,只有右键以管理员身份运行才能成功。

为解决此问题,最终找到一个简单的方法,双击也能执行成功了。过程如下:

1> go get github.com/akavel/rsrc

2> 把nac.manifest 文件拷贝到当前windows项目根目录

3> rsrc -manifest nac.manifest -o nac.syso

4> go build

nac.manifest的内容为:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentityversion="9.0.0.0"processorArchitecture="x86"name="myapp.exe"type="win32"
/>
<description>myapp</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><security><requestedPrivileges><requestedExecutionLevel level="requireAdministrator" uiAccess="false"/></requestedPrivileges></security>
</trustInfo>
</assembly>

提醒:这里一定要注意一下,第四步,没错就是golang编译命令是采用无参数编译–go build。如果写成指定文件编译–go build main.go 将无法成功获取UAC。(go build 在编译开始时,会搜索当前目录的 go 源码以及.syso文件,最后将所有资源一起打包到EXE文件。go build main.go 这种指定文件的编译命令,会编译指定文件和指定文件里面的所需要的依赖包,但是不会将.syso 文件打包到EXE。)如果,你的golang程序需要UAC权限或带GUI界面的,一定要注意正确使用编译命令!

golang windows程序获取管理员权限(UAC )相关推荐

  1. 使用c++给程序获取管理员权限

    文章目录 背景 修改程序开启时的运行权限 c++获取程序管理员权限 简单配置vs获取程序管理员权限 背景 最近开发的新项目里面的程序,在自己电脑上运行的好好的,打包出去之后,测试多次说程序有问题,打不 ...

  2. Qt程序获取管理员权限

    QMAKE_LFLAGS += /MANIFESTUAC:"level='requireAdministrator'uiAccess='false'"上面那句死活都不得行,提示路径 ...

  3. win10系统获取管理员权限卸载程序、删除文件等听语音 浏览:9507|更新:2016-02-23 02:27 很多用户升级win10系统以后,发现卸载某些程序或者删除某些文件的时候,会出现权限不够,

    win10系统获取管理员权限卸载程序.删除文件等 听语音 浏览:9507 | 更新:2016-02-23 02:27 很多用户升级win10系统以后,发现卸载某些程序或者删除某些文件的时候,会出现权限 ...

  4. windows中dos命令汇总及获取管理员权限

    文章目录 windows 获取管理员权限的2种方式 runas 用法 windows dos 命令行语法项 windows dos命令总述 windows dos命令详细介绍 - win7及以前: 微 ...

  5. windows系统,计算机cmd管理员,命令行中普通用户获取管理员权限的命令

    文章目录 一.第一种方式:搜索框搜索 二.第二种方式:win+R (这种方式作者没有找到进入管理员的方式) 三.普通方式进入,通过命令授予用户权限 四.通过开始右键进入cmd 参考文档 一.第一种方式 ...

  6. 添加“获取管理员权限到Windows右键菜单”

    将下面内容粘贴到记事本,保存,改名为"添加管理员权限.reg",双击文件,合并到注册表,右键即可出现菜单,请注意将系统调整为显示完整的文件扩展名,否则不能显示文本文件的.TXT扩展 ...

  7. 006 - Windows 下 C++ 程序以管理员运行(UAC)

    Windows 下 C++ 程序以管理员运行(UAC) MSVC 编译器 qmake 在 pro 文件中添加一行指令即可, QMAKE_LFLAGS += /MANIFESTUAC:"lev ...

  8. windows使用cmd命令行获取管理员权限

    想要管理员权限还嫌重新打开窗口费劲,可以通过命令直接获取管理员权限 runas /noprofile /user:Administrator cmd

  9. C#程序以管理员权限运行

    原文:C#程序以管理员权限运行 C#程序以管理员权限运行 在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户即使以管理员 ...

最新文章

  1. 队列 一种数据结构(多线程利器)
  2. 在 Pycharm下使Python2和Python3共用Anaconda中的各种库/包的解决方法
  3. 某月某日前包括当天吗_10月26日,你真的理解了导数的定义吗?(答思考题送猫王小音箱)...
  4. sqlplus中清理屏幕语句_sqlplus的小秘密[转]
  5. 【SpringCloud】服务注册之 zookeeper
  6. Linux:C GNU Obstack内存池
  7. Apache HttpServer的安装并与Tomcat整合Linux 版
  8. collections.OrderedDict()
  9. 电视机芯片介绍-海思Hi3751 V600
  10. Java轻量级缓存Ehcache与SpringBoot整合
  11. 神经网络和深度学习-习题
  12. SSL证书错误怎么办?浏览器常见SSL证书报错解决办法
  13. 安装mysql时一直卡在starting the server这一位置,解决办法
  14. JAVA字符串中字符类型的识别和分类(汉字、数字、字母、特殊符号等)
  15. 摄像头ip分享论坛_谁的SIP软交换呼叫中心终端摄像头正在公网裸奔
  16. 新闻/媒体 发布接口定制_每日新闻摘要,19/4/14:老大哥在看
  17. 计算机机房管理系统范文,计算机机房管理系统探讨论文
  18. 【Linux】ARM篇七--WDT看门狗实验
  19. 行业应用 |从实践中读懂银行的敏感数据安全防护思路
  20. I.MX6ULL ARM驱动开发---设备树下的platfrom设备驱动

热门文章

  1. 计算机桌面倒置怎么办,电脑屏幕倒置了怎么办
  2. Codeforces Gym 100287G Graveyard
  3. 这一年,这些书:2022年读书笔记
  4. R7000P双系统装机记录
  5. ajax 短轮询_Ajax轮询——“定时的通过Ajax查询服务端”
  6. 多品传媒:文化中国书画主题专列在地铁长安街线开行
  7. Java集成移动云EOS存储
  8. 如何占用计算机大量内存,解决办法:针对大量计算机内存使用情况的几种解决方案...
  9. 游戏倍镜的制作(入门)
  10. mac php yaf 安装,mac下安装yaf