//go:build windows package main import ( "os" "golang.org/x/sys/windows/registry" ) const ( runKeyPath = "Software\\Microsoft\\Windows\\CurrentVersion\\Run" runValueName = "DeepSeekTray" ) // isAutoStartEnabled 查询开机自启是否已启用。 func isAutoStartEnabled() bool { k, err := registry.OpenKey(registry.CURRENT_USER, runKeyPath, registry.QUERY_VALUE) if err != nil { return false } defer k.Close() v, _, err := k.GetStringValue(runValueName) return err == nil && v != "" } // setAutoStart 写入/删除 HKCU Run 键(无需管理员权限)。 func setAutoStart(enabled bool) error { k, err := registry.OpenKey(registry.CURRENT_USER, runKeyPath, registry.SET_VALUE) if err != nil { return err } defer k.Close() if !enabled { err := k.DeleteValue(runValueName) if err == registry.ErrNotExist { return nil } return err } exe, err := os.Executable() if err != nil { return err } return k.SetStringValue(runValueName, "\""+exe+"\" --silent") }