33 lines
639 B
Go
33 lines
639 B
Go
// +build windows,!nounsafe
|
|
|
|
package winpath
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"syscall"
|
|
"unsafe"
|
|
)
|
|
|
|
const (
|
|
HWND_BROADCAST = uintptr(0xffff)
|
|
WM_SETTINGCHANGE = uintptr(0x001A)
|
|
)
|
|
|
|
func init() {
|
|
|
|
// WM_SETTING_CHANGE
|
|
// https://gist.github.com/microo8/c1b9525efab9bb462adf9d123e855c52
|
|
sendmsg = func() {
|
|
//x, y, err := syscall.
|
|
_, _, err := syscall.
|
|
NewLazyDLL("user32.dll").
|
|
NewProc("SendMessageW").
|
|
Call(HWND_BROADCAST, WM_SETTINGCHANGE, 0, uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr("ENVIRONMENT"))))
|
|
//fmt.Fprintf(os.Stderr, "%d, %d, %s\n", x, y, err)
|
|
if nil != err {
|
|
fmt.Fprintf(os.Stderr, "%s\n", err)
|
|
}
|
|
}
|
|
}
|