200分:WH_KEYBOARD钩子中怎么获取MSG

200分:WH_KEYBOARD钩子中如何获取MSG?本来WH_GETMESSAGE钩子最符合要求,但在使用中出现了一些很难查找原因

200分:WH_KEYBOARD钩子中如何获取MSG?
本来WH_GETMESSAGE钩子最符合要求,但在使用中出现了一些很难查找原因的问题……

所以转而用WH_KEYBOARD做一些尝试。
但当我获得键盘消息之后,要先检查是不是窗口快捷键,TranslateAccelerator这个API就需要一个MSG结构类型的参数
,结构如下
Private Type MSG
  hwnd As Long
  time As Long
  pt As POINTAPI
  wParam As Long
  lParam As Long
  message As Long
End Type

搜索后发现似乎可以用GetMessage tMSG, m_hwndMain, 0, 0获得,但使用效果一点都不好,比如快捷键,需要按住一会不放才会有反应。

Public Function KBHookProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

中的lParam参数似乎是一个
Private Type EVENTMSG
  vKey As Long
  sKey As Long
  flag As Long
  time As Long
End Type
结构,因此无法用CopyMemory tMSG, ByVal lParam, Len(tMSG)获取。

无奈,上CSDN请教高人。

谢谢

[解决办法]
WH_KEYBOARD_LL
[解决办法]
路过.....
[解决办法]