фон:
После запуска кода go он включает в себя такие операции, как изменение IP-адреса, для чего требуются права администратора. Двойной щелчок по упакованному exe-файлу для его выполнения по умолчанию не дает прав администратора. Если вы измените IP-адрес, вам будет предложено запросить права администратора.
Решение 1. Щелкните правой кнопкой мыши, чтобы запустить exe-файл с правами администратора.Решение
2. При компиляции exe-файла автоматически запустится всплывающее окно с запросом на получение прав администратора.
Давайте поговорим непосредственно о решении 2
Примечание. Необходимая среда go уже в порядке.
1. Создайте новый файл nac.manifest в корневом каталоге проекта со следующим содержимым:
<?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>
2. Установите инструмент rsrc и перейдите на github.com/akavel/rsrc.
3. Чтобы rsrc работал, его нужно скомпилировать под windows. Найдите github.com/akavel/rsrc на своем компьютере (например, выполните поиск местоположения напрямую через Evenything), откройте его с помощью терминала, введите go build, нажмите Enter для запуска, будет создан файл rsrc.exe.
4. Скопируйте rsrc.exe в каталог /bin/ каталога установки go, например C:\go\bin.
5. В случае, когда значок ico не требуется, а требуются только права администратора: rsrc -manifest nac.manifest -o nac.syso
В случае, когда значок ico требуется (подготовьте значок icon.ico и поместите его в корневой каталог проекта):rsrc -manifest nac.manifest -o nac.syso -ico icon.ico
6. Выполните следующую команду в корневом каталоге проекта, чтобы скомпилировать проект go в exe:
Пример:
go build -o <此处自定义可执行文件名称>.exe
:: Бесинтерфейсная компиляция: go build -ldflags="-w -s -H windowsgui" -o MVPTool.exe
:: Обычная компиляция (-ldflags="-w -s" используется для удаления отладочной информации)go build -ldflags="-w -s" -o MVPTool.exe
Дважды щелкните, чтобы запустить, и вам автоматически будет предложено получить права администратора.