summaryrefslogtreecommitdiff
path: root/vendor/github.com/ProtonMail/go-autostart/autostart_windows.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/ProtonMail/go-autostart/autostart_windows.go')
-rw-r--r--vendor/github.com/ProtonMail/go-autostart/autostart_windows.go52
1 files changed, 0 insertions, 52 deletions
diff --git a/vendor/github.com/ProtonMail/go-autostart/autostart_windows.go b/vendor/github.com/ProtonMail/go-autostart/autostart_windows.go
deleted file mode 100644
index 3c14609..0000000
--- a/vendor/github.com/ProtonMail/go-autostart/autostart_windows.go
+++ /dev/null
@@ -1,52 +0,0 @@
-package autostart
-
-// #cgo LDFLAGS: -lole32 -luuid
-/*
-#define WIN32_LEAN_AND_MEAN
-#include <stdint.h>
-#include <windows.h>
-
-uint64_t CreateShortcut(char *shortcutA, char *path, char *args);
-*/
-import "C"
-
-import (
- "errors"
- "fmt"
- "os"
- "path/filepath"
- "strings"
-)
-
-var startupDir string
-
-func init() {
- startupDir = filepath.Join(os.Getenv("USERPROFILE"), "AppData", "Roaming", "Microsoft", "Windows", "Start Menu", "Programs", "Startup")
-}
-
-func (a *App) path() string {
- return filepath.Join(startupDir, a.Name+".lnk")
-}
-
-func (a *App) IsEnabled() bool {
- _, err := os.Stat(a.path())
- return err == nil
-}
-
-func (a *App) Enable() error {
- path := a.Exec[0]
- args := strings.Join(a.Exec[1:], " ")
-
- if err := os.MkdirAll(startupDir, 0777); err != nil {
- return err
- }
- res := C.CreateShortcut(C.CString(a.path()), C.CString(path), C.CString(args))
- if res != 0 {
- return errors.New(fmt.Sprintf("autostart: cannot create shortcut '%s' error code: 0x%.8x", a.path(), res))
- }
- return nil
-}
-
-func (a *App) Disable() error {
- return os.Remove(a.path())
-}