golang windows程式獲取管理員許可權(UAC )
阿新 • • 發佈:2018-11-16
在windows上執行有關係統設定命令的時候需要管理員許可權才能操作,比如修改網絡卡的禁用、啟用狀態。雙擊執行是不能正確執行命令的,只有右鍵以管理員身份執行才能成功。
為解決此問題,花了很長時間找了各種方法,最終找到一個簡單的方法,雙擊也能執行成功了。過程如下:
1> go get github.com/akavel/rsrc
2> 把nac.manifest 檔案拷貝到當前windows專案根目錄
3> rsrc -manifest nac.manifest -o nac.syso
4> go build
nac.mainfest的內容為:
<?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"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>