package main import ( "os/exec" "syscall" "unsafe" ) func replaceFile(a, b string) error { x, e := syscall.UTF16PtrFromString(a) if e != nil { return e } y, e := syscall.UTF16PtrFromString(b) if e != nil { return e } r, _, e := syscall.NewLazyDLL("kernel32.dll").NewProc("MoveFileExW").Call(uintptr(unsafe.Pointer(x)), uintptr(unsafe.Pointer(y)), 3) if r == 0 { return e } return nil } func background(c *exec.Cmd) { c.SysProcAttr = &syscall.SysProcAttr{CreationFlags: 0x00000008 | 0x00000200} } func admin() bool { r, _, _ := syscall.NewLazyDLL("shell32.dll").NewProc("IsUserAnAdmin").Call() return r != 0 } func enableTerminal() { k := syscall.NewLazyDLL("kernel32.dll") var mode uint32 handle := uintptr(syscall.Stdout) r, _, _ := k.NewProc("GetConsoleMode").Call(handle, uintptr(unsafe.Pointer(&mode))) if r != 0 { k.NewProc("SetConsoleMode").Call(handle, uintptr(mode|4)) } }