From ec130ea251ab519790e07cb8bcf3bd517d21b932 Mon Sep 17 00:00:00 2001 From: Alexander Bibanin <32kb@bk.ru> Date: Thu, 29 Sep 2016 01:22:08 +0300 Subject: [PATCH 1/5] Add RegisterHotKey (global hotkey support) --- user32.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/user32.go b/user32.go index ea91385c..c178c0d9 100644 --- a/user32.go +++ b/user32.go @@ -1568,6 +1568,7 @@ var ( postMessage uintptr postQuitMessage uintptr registerClassEx uintptr + registerHotKey uintptr registerRawInputDevices uintptr registerWindowMessage uintptr releaseCapture uintptr @@ -1690,6 +1691,7 @@ func init() { postMessage = MustGetProcAddress(libuser32, "PostMessageW") postQuitMessage = MustGetProcAddress(libuser32, "PostQuitMessage") registerClassEx = MustGetProcAddress(libuser32, "RegisterClassExW") + registerHotKey = MustGetProcAddress(libuser32, "RegisterHotKey") registerRawInputDevices = MustGetProcAddress(libuser32, "RegisterRawInputDevices") registerWindowMessage = MustGetProcAddress(libuser32, "RegisterWindowMessageW") releaseCapture = MustGetProcAddress(libuser32, "ReleaseCapture") @@ -2485,6 +2487,17 @@ func RegisterClassEx(windowClass *WNDCLASSEX) ATOM { return ATOM(ret) } +func RegisterHotKey(hwnd HWND, id int, fsModifiers, vk uint) bool { + ret, _, _ := syscall.Syscall6(registerHotKey, 4, + uintptr(hwnd), + uintptr(id), + uintptr(fsModifiers), + uintptr(vk), + 0, + 0) + return ret != 0 +} + func RegisterRawInputDevices(pRawInputDevices *RAWINPUTDEVICE, uiNumDevices uint32, cbSize uint32) bool { ret, _, _ := syscall.Syscall(registerRawInputDevices, 3, uintptr(unsafe.Pointer(pRawInputDevices)), @@ -2803,6 +2816,7 @@ func UpdateWindow(hwnd HWND) bool { return ret != 0 } + func WindowFromPoint(Point POINT) HWND { ret, _, _ := syscall.Syscall(windowFromPoint, 2, uintptr(Point.X), From b76fd47d4774e7c096e7f4399952bf4f0c6bdb69 Mon Sep 17 00:00:00 2001 From: Bibainet <32kb@bk.ru> Date: Thu, 14 Sep 2017 23:00:38 +0300 Subject: [PATCH 2/5] Add .gitattributes --- .gitattributes | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..5572e69e --- /dev/null +++ b/.gitattributes @@ -0,0 +1,16 @@ +* eol=lf + +*.cmd eol=crlf +*.bat eol=crlf + +*.syso binary +*.gif binary +*.png binary +*.jpg binary +*.ico binary +*.zip binary +*.ttf binary +*.otf binary +*.woff binary +*.eot binary +*.pdf binary From cf9f937c4267fd8eb66819cac90772bce56881a5 Mon Sep 17 00:00:00 2001 From: Bibainet <32kb@bk.ru> Date: Wed, 8 Nov 2017 01:24:35 +0300 Subject: [PATCH 3/5] Merge branch 'master' of https://github.com/lxn/win --- AUTHORS | 1 + user32.go | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/AUTHORS b/AUTHORS index fd1738bb..bd7c4ca0 100644 --- a/AUTHORS +++ b/AUTHORS @@ -13,6 +13,7 @@ Alexander Neumann Anton Lahti Benny Siegert Bruno Bigras +Carl Kittelberger Carlos Cobo Cary Cherng David Porter diff --git a/user32.go b/user32.go index 5fafd1ea..4fbfd89f 100644 --- a/user32.go +++ b/user32.go @@ -1647,6 +1647,7 @@ var ( trackPopupMenuEx uintptr translateMessage uintptr updateWindow uintptr + windowFromDC uintptr windowFromPoint uintptr ) @@ -1778,6 +1779,7 @@ func init() { trackPopupMenuEx = MustGetProcAddress(libuser32, "TrackPopupMenuEx") translateMessage = MustGetProcAddress(libuser32, "TranslateMessage") updateWindow = MustGetProcAddress(libuser32, "UpdateWindow") + windowFromDC = MustGetProcAddress(libuser32, "WindowFromDC") windowFromPoint = MustGetProcAddress(libuser32, "WindowFromPoint") } @@ -2893,6 +2895,15 @@ func UpdateWindow(hwnd HWND) bool { return ret != 0 } +func WindowFromDC(hDC HDC) HWND { + ret, _, _ := syscall.Syscall(windowFromDC, 1, + uintptr(hDC), + 0, + 0) + + return HWND(ret) +} + func WindowFromPoint(Point POINT) HWND { ret, _, _ := syscall.Syscall(windowFromPoint, 2, uintptr(Point.X), From 1dc5832e858d0bd566475890985f02e46faa7320 Mon Sep 17 00:00:00 2001 From: Bibainet <32kb@bk.ru> Date: Thu, 22 Aug 2019 19:51:11 +0300 Subject: [PATCH 4/5] user32.go fix --- user32.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user32.go b/user32.go index acc1036c..bd948968 100644 --- a/user32.go +++ b/user32.go @@ -2888,7 +2888,7 @@ func RegisterClassEx(windowClass *WNDCLASSEX) ATOM { } func RegisterHotKey(hwnd HWND, id int, fsModifiers, vk uint) bool { - ret, _, _ := syscall.Syscall6(registerHotKey, 4, + ret, _, _ := syscall.Syscall6(registerHotKey.Addr(), 4, uintptr(hwnd), uintptr(id), uintptr(fsModifiers), From 5e64684247e559fd0fa1fc1e31469b242df72b6f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 25 Feb 2023 00:52:34 +0000 Subject: [PATCH 5/5] Bump golang.org/x/sys from 0.0.0-20201018230417-eeed37f84f13 to 0.1.0 Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.0.0-20201018230417-eeed37f84f13 to 0.1.0. - [Release notes](https://github.com/golang/sys/releases) - [Commits](https://github.com/golang/sys/commits/v0.1.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index c765df89..b547544f 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module github.com/lxn/win go 1.12 -require golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13 +require golang.org/x/sys v0.1.0