update clipmessage
This commit is contained in:
parent
ad19f5cd42
commit
f7baa82534
34
user32.go
34
user32.go
@ -321,3 +321,37 @@ func SetClipboardViewer(hWndNewViewer HWND) (HWND, error) {
|
||||
}
|
||||
return HWND(r), nil
|
||||
}
|
||||
|
||||
func CreateWindowEx(dwExStyle DWORD, lpClassName, lpWindowName string, dwStyle DWORD, x, y, nWidth, nHeight int, hWndParent HWND, hMenu HMENU, hInstance HINSTANCE, lpParam unsafe.Pointer) (HWND, error) {
|
||||
user32, err := syscall.LoadLibrary("user32.dll")
|
||||
if err != nil {
|
||||
return 0, errors.New("Can't Load User32 API")
|
||||
}
|
||||
defer syscall.FreeLibrary(user32)
|
||||
cwe, err := syscall.GetProcAddress(syscall.Handle(user32), "CreateWindowExW")
|
||||
if err != nil {
|
||||
return 0, errors.New("Can't Load CreateWindowEx API")
|
||||
}
|
||||
r, _, errno := syscall.Syscall12(cwe, 11, uintptr(dwExStyle), uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(lpClassName))), uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(lpWindowName))), uintptr(dwStyle), uintptr(x), uintptr(y), uintptr(nWidth), uintptr(nHeight), uintptr(hWndParent), uintptr(hMenu), uintptr(hInstance), uintptr(lpParam))
|
||||
if r == 0 {
|
||||
return 0, error(errno)
|
||||
}
|
||||
return HWND(r), nil
|
||||
}
|
||||
|
||||
func GetMessage(lpMsg *MSG, hWnd HWND, wMsgFilterMin, wMsgFilterMax DWORD) (DWORD, error) {
|
||||
user32, err := syscall.LoadLibrary("user32.dll")
|
||||
if err != nil {
|
||||
return 0, errors.New("Can't Load User32 API")
|
||||
}
|
||||
defer syscall.FreeLibrary(user32)
|
||||
gm, err := syscall.GetProcAddress(syscall.Handle(user32), "GetMessageW")
|
||||
if err != nil {
|
||||
return 0, errors.New("Can't Load GetMessage API")
|
||||
}
|
||||
r, _, errno := syscall.Syscall6(gm, 4, uintptr(unsafe.Pointer(lpMsg)), uintptr(hWnd), uintptr(wMsgFilterMin), uintptr(wMsgFilterMax), 0, 0)
|
||||
if r == 0 {
|
||||
return 0, error(errno)
|
||||
}
|
||||
return DWORD(r), nil
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
package win32api
|
||||
|
||||
import "syscall"
|
||||
|
||||
const (
|
||||
VK_SHIFT = 0x10
|
||||
VK_CTRL = 0x11
|
||||
@ -209,3 +211,20 @@ const (
|
||||
CF_WAVE DWORD = 12
|
||||
CF_HENHMETAFILE DWORD = 14
|
||||
)
|
||||
|
||||
type MSG struct {
|
||||
Hwnd syscall.Handle
|
||||
Message uint32
|
||||
WParam uintptr
|
||||
LParam uintptr
|
||||
Time uint32
|
||||
Pt POINT
|
||||
}
|
||||
|
||||
type POINT struct {
|
||||
X, Y int32
|
||||
}
|
||||
|
||||
const (
|
||||
WM_CLIPBOARDUPDATE DWORD = 0x031D
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user