Code: Select all
wm_eventArr := object()
; https://docs.microsoft.com/en-us/windows/win32/inputdev/mouse-input-notifications
++c
Gui, +hwndHGuiA
Gui, Font, s11
Gui, +LastFound
GUI_W := A_ScreenWidth - 200
GUI_H := A_ScreenHeight - 100
Tab_H := A_ScreenHeight - 500
Tab_W := GUI_W - 200
MaxLV_R := 20
LVA_W := GUI_W -730
LVB_W := GUI_W -30
LVC_W := 550
LVD_W := 550
LVE_W := GUI_W -30
Gui, Add, Tab, w%Tab_W% h%Tab_H%, a|b
; +LV0x00010000 Grid +LV0x20
;ListView +LV0x00010000 https://www.autohotkey.com/boards/viewtopic.php?p=363948#p363948
Gui, Tab, a
Gui, Add, ListView, w%LVA_W% r%MaxLV_R% +LV0x00010000 Grid +LV0x20 hwndHLVA vLVA Grid cBlack AltSubmit -Readonly BackgroundFFDD99
, ATickCount|AThisFunc|wparam|wparam|iparam|iparam|x|y|msg|hwnd|hwnd|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|y|z
ICELVA := New LV_InCellEdit(HLVA, True, True)
ICELVA.OnMessage()
GuiControl , Choose , systabcontrol321 , 1
RI := Lv_Add("", ,"startup")
LV_Modify(RI, "Col1", A_TickCount)
;------------------------------------------------------
OnMessage(0x0215, "WM_CAPTURECHANGED")
WM_CAPTURECHANGED(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
sleep, 200
}
OnMessage(0x0203, "WM_LBUTTONDBLCLK")
WM_LBUTTONDBLCLK(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x0201, "WM_LBUTTONDOWN")
WM_LBUTTONDOWN(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x0202, "WM_LBUTTONUP")
WM_LBUTTONUP(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x0209, "WM_MBUTTONDBLCLK")
WM_MBUTTONDBLCLK(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x0207, "WM_MBUTTONDOWN")
WM_MBUTTONDOWN(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x0208, "WM_MBUTTONUP")
WM_MBUTTONUP(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x0021, "WM_MOUSEACTIVATE")
WM_MOUSEACTIVATE(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x02A1, "WM_MOUSEHOVER")
WM_MOUSEHOVER(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
sleep, 999
}
OnMessage(0x020E, "WM_MOUSEHWHEEL")
WM_MOUSEHWHEEL(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
;; sleep, 1
}
OnMessage(0x02A3, "WM_MOUSELEAVE")
WM_MOUSELEAVE(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x0200, "WM_MOUSEMOVE")
WM_MOUSEMOVE(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
sleep, 999
}
OnMessage(0x020A, "WM_MOUSEWHEEL")
WM_MOUSEWHEEL(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
;; sleep, 1
}
OnMessage(0x0084, "WM_NCHITTEST")
WM_NCHITTEST(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x00A3, "WM_NCLBUTTONDBLCLK")
WM_NCLBUTTONDBLCLK(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x00A1, "WM_NCLBUTTONDOWN")
WM_NCLBUTTONDOWN(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x00A2, "WM_NCLBUTTONUP")
WM_NCLBUTTONUP(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x00A9, "WM_NCMBUTTONDBLCLK")
WM_NCMBUTTONDBLCLK(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x00A7, "WM_NCMBUTTONDOWN")
WM_NCMBUTTONDOWN(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x00A8, "WM_NCMBUTTONUP")
WM_NCMBUTTONUP(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x02A0, "WM_NCMOUSEHOVER")
WM_NCMOUSEHOVER(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
sleep, 999
}
OnMessage(0x02A2, "WM_NCMOUSELEAVE")
WM_NCMOUSELEAVE(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x00A0, "WM_NCMOUSEMOVE")
WM_NCMOUSEMOVE(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
sleep, 999
}
OnMessage(0x00A6, "WM_NCRBUTTONDBLCLK")
WM_NCRBUTTONDBLCLK(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x00A4, "WM_NCRBUTTONDOWN")
WM_NCRBUTTONDOWN(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x00A5, "WM_NCRBUTTONUP")
WM_NCRBUTTONUP(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x00AD, "WM_NCXBUTTONDBLCLK")
WM_NCXBUTTONDBLCLK(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x00AB, "WM_NCXBUTTONDOWN")
WM_NCXBUTTONDOWN(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x00AC, "WM_NCXBUTTONUP")
WM_NCXBUTTONUP(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x0206, "WM_RBUTTONDBLCLK")
WM_RBUTTONDBLCLK(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x0204, "WM_RBUTTONDOWN")
WM_RBUTTONDOWN(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x0205, "WM_RBUTTONUP")
WM_RBUTTONUP(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x020D, "WM_XBUTTONDBLCLK")
WM_XBUTTONDBLCLK(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x020B, "WM_XBUTTONDOWN")
WM_XBUTTONDOWN(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
OnMessage(0x020C, "WM_XBUTTONUP")
WM_XBUTTONUP(wparam, lparam, msg, hwnd) {
global AThisFunc, AThisFunc := A_ThisFunc
_all(wparam, lparam, msg, hwnd)
; sleep, 1
}
Gui, Show, xCenter yCenter, % ("GuiHwnd: " HGuiA " Label: " LGuiA)
Return
_all(wparam, lparam, msg, hwnd) {
ATickCount := A_TickCount
global AThisFunc
;AThisFunc := A_ThisFunc
WinGetPos, xguiX , xguiY, xguiW, xguiH ;,% "ahk_id " . HGui%c%
GuiControl, -Redraw, LVA
X := lParam & 0xFFFF ; rechte (niederwertige) 16 Bits auslesen
Y := (lParam >> 16) & 0xFFFF ; linke (höherwertige) 16 Bits um 16 Bits nach rechts verschieben und auslesen
X := lParam << 48 >> 48
Y := lParam << 32 >> 48
RI := Lv_Add("", ATickCount
, AThisFunc
, _wparam(wparam)
, wparam
, _lParam(lParam)
, lParam
, x
, y
, _msg(msg)
, _hwnd(hwnd)
, hwnd
, xguiX
, xguiY
, xguiW
, xguiH
, A_TimeSinceThisHotkey
, A_TimeSincePriorHotkey)
LV_Modify(RI, "+Focus")
;LV_Modify(RI, "+Select")
Ri := LV_GetCount()
Loop, % LV_GetCount()
LV_Modify((A_Index), "-Select")
Loop, % LV_GetCount("Columns")
LV_ModifyCol(A_Index, "AutoHdr")
LV_Modify(LV_GetCount(), "+Select")
LV_Modify(LV_GetCount(), "Vis")
GuiControl, +Redraw, LVA
}
_wparam(wparam) {
xwparam := (wParam=16) ? ("Die mittlere Maustaste ist unten!")
: (wParam=8) ? ("STRG-Down!")
: (wParam=4) ? ("Shift-Down!")
: (wParam=2) ? ("RMouse-Down!")
: ((isObject(wParam) ? "Object" : "0x" . Format("{:X}", wParam)))
Return xwparam
}
_lParam(lParam) {
xlParam := ((isObject(lParam) ? "Object" : "0x" . Format("{:X}", lParam)))
Return xlParam
}
___iparam(iparam) {
return iparam
X := lParam & 0xFFFF ; rechte (niederwertige) 16 Bits auslesen
Y := (lParam >> 16) & 0xFFFF ; linke (höherwertige) 16 Bits um 16 Bits nach rechts verschieben und auslesen
X := lParam << 48 >> 48
Y := lParam << 32 >> 48
RI := Lv_Add("",,A_ThisFunc)
LV_Modify(RI, "Col1", A_TickCount)
LV_Modify(RI, "Col3", tmp)
LV_Modify(RI, "Col4", x, y)
Loop, % LV_GetCount("Columns")
LV_ModifyCol(A_Index, "AutoHdr VIS")
LV_Modify(RI, "+Focus")
;LV_Modify(RI, "+Select")
Ri := LV_GetCount()
LV_Modify(Ri, "Vis")
LV_Modify(RI, "+Select")
;LV_Modify((RI-1), "-Select")
LV_Modify((RI-1), "-Select")
GuiControl, +Redraw, LVA
Return ToolTipVar .= x ";" y ";" iparam
}
_msg(msg) {
Return (isObject(msg) ? "Object" : msg)
}
_hwnd(hwnd) {
Return (isObject(hwnd) ? "Object" : "0x" . Format("{:X}", hwnd))
}
xiparam(thisMsg, wparam, lparam, msg, hwnd) {
X := lParam & 0xFFFF ; rechte (niederwertige) 16 Bits auslesen
Y := (lParam >> 16) & 0xFFFF ; linke (höherwertige) 16 Bits um 16 Bits nach rechts verschieben und auslesen
X := lParam << 48 >> 48
Y := lParam << 32 >> 48
Return ToolTipVar .= "x:`t" x "`n" "y:`t" y "`n" StrReplace(wm_eventVar,";","`n")
}