setcapture可以捕获鼠标,请问有没有捕获键盘的函数?

Chengs_bbs 2007-01-22 09:10:05
setcapture可以捕获鼠标,请问有没有捕获键盘的函数?
...全文
190 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chengs_bbs 2007-01-22
  • 打赏
  • 举报
回复
你使用的是子类,你捕获的只是某个控件(HWND)的子类,如果我要捕获某个窗口(包括其子控件)的全部键盘信息,怎么做(注只是捕获某个窗口中的全部子控件,不是捕获这个程序的全部窗口)。
6742 2007-01-22
  • 打赏
  • 举报
回复
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
iwantbenot 2007-01-22
  • 打赏
  • 举报
回复
keypress事件

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧