//go:build windows package startup import ( "fmt" "os" "golang.org/x/sys/windows/registry" ) const registryKey = `SOFTWARE\Microsoft\Windows\CurrentVersion\Run` const appName = "VoiceSnap" func isEnabled() bool { key, err := registry.OpenKey(registry.CURRENT_USER, registryKey, registry.QUERY_VALUE) if err != nil { return false } defer key.Close() val, _, err := key.GetStringValue(appName) return err == nil && val != "" } func setEnabled(enable bool) error { key, err := registry.OpenKey(registry.CURRENT_USER, registryKey, registry.SET_VALUE) if err != nil { return fmt.Errorf("failed to open registry key: %w", err) } defer key.Close() if enable { exe, err := os.Executable() if err != nil { return err } return key.SetStringValue(appName, fmt.Sprintf(`"%s"`, exe)) } return key.DeleteValue(appName) }