//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 } }