vb.net如何捕获某窗体的键盘事件

来源:百度知道 编辑:UC知道 时间:2024/06/23 04:44:26
搜了一阵子找到的都是捕获自定义Form的keydown事件,我需要的是捕获一个别的窗体比如记事本或者其他程序的键盘事件,比如点击F2,Crtl+L等。知道的请告诉一下谢谢,如果有资料请给链接不要全复制进来。
太长了。。。。看不懂,能不能将原理阐述一下呢?但还是谢谢你的代码,虽然不是VB.NET的,但我会复制修改一下试试的。

钩子 HOOK
http://baike.baidu.com/view/1390039.htm

'模块部分
Public Type EVENTMSG
vKey As Long
sKey As Long
flag As Long
time As Long
End Type
Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Long) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Public mymsg As EVENTMSG
Public Const WH_KEYBOARD_LL = 13
Public Const WM_KEYDOWN = &H100
Public hHook&, i%, appS