键盘钩子Hook中转换消息的问题
Public Function MyKBHook(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If nCode >= 0 Then
Open "C:\Keyfile.txt" For Append As #1 '将键盘的操作记录在Keyfile.txt文件之中
'记录所操作的键、操作时间、日期操作时的按键状态,用16进制记录
Write #1, wParam, Hex(lParam), Date, Time
Close #1
MyKBHook = 0 '表示要处理这个消息
'屏蔽ALT+F4组合键
If wParam = 115 And (lParam And H20000000) <> 0 Then
If (lParam And &HC000000) = 0 Then '是否进行ALT+F4操作
MyHBHook = 1 '钩子吃掉这个消息
End If
End If
End If
Call CallNextHookEx(hHook, nCode, wParam, lParam) '将消息传给下一个钩子
End Function
'*************************************************************
上面是从网上获得的VB线程钩子(LocalHook)的例子,上面的例子是把捕获的消息吃掉,网上找了很多关于钩子的例子和资料几乎都是关于如何吃掉被捕获的消息的。
但是我现在的想法是把捕获的消息吃掉的同时转换成另一个消息发回去,例如,捕获的消息是 Enter ,我将它转换成 VbKeyF4 ,不用sendkeys的话,就是转换消息,有没有可能实现,如果可以实现的话,该怎么做呢?