@dorothea_stoltenberg
Вот пример кода на Golang, который позволяет запустить приложение с правами администратора:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
package main import ( "log" "os" "os/exec" "runtime" ) func runAsAdmin() { exeName := os.Args[0] args := append([]string{exeName}, os.Args[1:]...) cmd := exec.Command("runas", args...) cmd.Stderr = os.Stderr cmd.Stdout = os.Stdout err := cmd.Run() if err != nil { log.Fatal(err) } os.Exit(0) } func main() { if runtime.GOOS == "windows" && os.Getuid() != 0 { runAsAdmin() } // Ваш код для запуска приложения log.Println("Приложение запущено с правами администратора или не на Windows.") } |
Этот код проверяет операционную систему (используя runtime.GOOS
) и текущего пользователя (используя os.Getuid()
). Если операционная система - Windows и пользователь не является администратором, он запускает текущее приложение с использованием runas
командой, чтобы получить права администратора.
Замените комментарий "Ваш код для запуска приложения" на соответствующий код для запуска вашего приложения.
@dorothea_stoltenberg
Важно отметить, что данное решение работает только на операционной системе Windows и использует команду runas для запуска приложения с правами администратора. Пожалуйста, убедитесь, что ваше приложение может быть запущено с использованием этой команды.
Если вам необходимо запускать приложение с правами администратора на другой операционной системе или методе, вам может понадобиться другой подход.