当我收到鼠标事件时,如何使用GetKeyState检测鼠标的后退或前进按钮是否已关闭? MSDN's virtual key code list似乎只定义鼠标左键,右键和中键。
传递给SetWindowsHookEx的回调方法:
[MethodImpl(MethodImplOptions.NoInlining)]
private IntPtr LowLevelMouseProc(int nCode, UIntPtr wParam, IntPtr lParam)
{
Debug.WriteLine(wParam.ToUInt32());
Debug.WriteLine("MK_XBUTTON1: " + (wParam.ToUInt32() & 0x20));
Debug.WriteLine("MK_XBUTTON2: " + (wParam.ToUInt32() & 0x40));
}
按下后退或前进时输出以下内容:
523
MK_XBUTTON1: 0
MK_XBUTTON2: 0
524
MK_XBUTTON1: 0
MK_XBUTTON2: 0
答案 0 :(得分:3)
您正在链接到Windows CE文档。 Virtual-Key Codes的桌面Windows文档包含VK_XBUTTON1
和VK_XBUTTON2
代码。这些是附加鼠标按钮的常量,通常分配给前进和后退导航。
如果您想立即处理X按钮消息,请使用WM_XBUTTONDOWN
和WM_XBUTTONUP
将其发布到您的应用程序。 wParam
的低位字表示哪个X按钮已关闭(如果有)。