Skip to content
This repository was archived by the owner on Apr 21, 2021. It is now read-only.

Commit 33394b6

Browse files
committed
Expose MouseData and define WM_XBUTTON
1 parent 7819ffa commit 33394b6

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/EventHook/Hooks/MouseHook.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ internal class RawMouseEventArgs : EventArgs
1111
{
1212
internal MouseMessages Message { get; set; }
1313
internal Point Point { get; set; }
14+
internal uint MouseData { get; set; }
1415
}
1516

1617
/// <summary>
@@ -25,7 +26,9 @@ public enum MouseMessages
2526
WM_RBUTTONDOWN = 0x0204,
2627
WM_RBUTTONUP = 0x0205,
2728
WM_WHEELBUTTONDOWN = 0x207,
28-
WM_WHEELBUTTONUP = 0x208
29+
WM_WHEELBUTTONUP = 0x208,
30+
WM_XBUTTONDOWN = 0x020B,
31+
WM_XBUTTONUP = 0x020C
2932
}
3033

3134
/// <summary>
@@ -94,7 +97,7 @@ private IntPtr HookCallback(
9497

9598
hookStruct = (MSLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(MSLLHOOKSTRUCT));
9699

97-
MouseAction(null, new RawMouseEventArgs { Message = (MouseMessages)wParam, Point = hookStruct.pt });
100+
MouseAction(null, new RawMouseEventArgs { Message = (MouseMessages)wParam, Point = hookStruct.pt, MouseData = hookStruct.mouseData });
98101

99102
return CallNextHookEx(_hookId, nCode, wParam, lParam);
100103
}

src/EventHook/MouseWatcher.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public class MouseEventArgs : EventArgs
1313
{
1414
public MouseMessages Message { get; set; }
1515
public Point Point { get; set; }
16+
public uint MouseData { get; set; }
1617
}
1718

1819
/// <summary>
@@ -134,7 +135,7 @@ private async Task ConsumeKeyAsync()
134135
/// <param name="kd"></param>
135136
private void KListener_KeyDown(RawMouseEventArgs kd)
136137
{
137-
OnMouseInput?.Invoke(null, new MouseEventArgs { Message = kd.Message, Point = kd.Point });
138+
OnMouseInput?.Invoke(null, new MouseEventArgs { Message = kd.Message, Point = kd.Point, MouseData = kd.MouseData });
138139
}
139140
}
140141
}

0 commit comments

Comments
 (0)