setcapture可以捕获鼠标,请问有没有捕获键盘的函数?
setcapture可以捕获鼠标,请问有没有捕获键盘的函数?
[解决办法]
keypress事件
[解决办法]
HOOK捕获键盘
'以下在BAS
Public Function Hook&(ByVal hWnd1&)
OldWndProc = SetWindowLong(hWnd1, GWL_WNDPROC, AddressOf NewWndProc)
Hook = OldWndProc
End Function
Public Sub UnHook(ByVal hWnd1&)
SetWindowLong hWnd1, GWL_WNDPROC, OldWndProc
End Sub
Public Function NewWndProc&(ByVal hWnd1&, ByVal uMsg&, ByVal wParam&, ByVal lParam&)
Select Case uMsg
Case WM_MOUSEWHEEL '捕获鼠标中间滚动事件
Case WM_KEYDOWN '捕获按键事件
Debug.Print "AASDERFGH "
Case WM_NCACTIVATE '捕获焦点事件
End Select
NewWndProc = CallWindowProc(OldWndProc, hWnd1, uMsg, wParam, lParam)
End Function
常量及API函数自己找一下。
'以下在窗体
Private Sub Form_Load()
Hook Me.hwnd
End Sub
Private Sub Form_Unload(Cancel As Integer)
UnHook Me.hwnd
End Sub