public_Ip/isWin.go

56 lines
1.0 KiB
Go
Raw Permalink Normal View History

2023-12-22 14:34:59 +08:00
//go:build windows
// isWin.go
package main
import (
"fmt"
"os"
"path/filepath"
"golang.org/x/sys/windows/registry"
)
func regedit() {
fmt.Println("当前操作系统是 Windows")
// 程序启动参数
runArry := " -d -f"
// 获取当前可执行文件的路径
exePath, err := os.Executable()
if err != nil {
fmt.Println("无法获取可执行文件路径:", err)
return
}
// 将可执行文件路径添加到注册表中
key, _, err := registry.CreateKey(
registry.CURRENT_USER,
`SOFTWARE\Microsoft\Windows\CurrentVersion\Run`,
registry.ALL_ACCESS,
)
if err != nil {
fmt.Println("无法打开注册表键:", err)
return
}
defer key.Close()
_, _, err = key.GetStringValue(filepath.Base(exePath))
if err != nil {
err = key.SetStringValue(
filepath.Base(exePath),
exePath+runArry,
)
if err != nil {
fmt.Println("无法设置键值:", err)
return
}
fmt.Printf("%s 已被添加到开机自启动项中!\n", filepath.Base(exePath))
} else {
return
}
}