| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- //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")
- }
|