VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
  • vb教程之如何拦截键盘输入

  • 2017-09-21 16:32 来源:未知
 这是使用Keyboard Hook 的范例,它的解释请查VB5 Call WinAPI技巧或Hook的简介 
'以下在.Bas 
Option Explicit 

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 UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long 
Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long 

Public hnexthookproc As Long 
Public Const HC_ACTION = 0 
Public Const WH_KEYBOARD = 2 

Public Sub UnHookKBD() 
If hnexthookproc <> 0 Then 
UnhookWindowsHookEx hnexthookproc 
hnexthookproc = 0 
End If 
End Sub 
Public Function EnableKBDHook() 
If hnexthookproc <> 0 Then 
Exit Function 
End If 
hnexthookproc = SetWindowsHookEx(WH_KEYBOARD, AddressOf _ 
MyKBHFunc, App.hInstance, 0) 
If hnexthookproc <> 0 Then 
EnableKBDHook = hnexthookproc 
End If 
End Function 
Public Function MyKBHFunc(ByVal iCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long 
'这三个参数是固定的,不能动,而MyKBHFunc这个名称只要和 
'SetWindowsHookex()中 AddressOf後的名称一样便可,不一定叫什麽 
'wParam 是传入按了哪个key的virtual-key code 

'如果您将以下的两行unmark则所有键盘的输入皆没有作用 
'MyKBHFunc = 1 '吃掉信息 
'Exit Function 

MyKBHFunc = 0 '信息要处理 
If iCode < 0 Then 
MyKBHFunc = CallNextHookEx(hnexthookproc, iCode, wParam, lParam) 
Exit Function 
End If 
If wParam = vbKeySnapshot Then '侦测 有没有按到PrintScreen键 
MyKBHFunc = 1 '在这个Hook便吃掉这个信息 
Debug.Print "haha" 
Else 
Call CallNextHookEx(hnexthookproc, iCode, wParam, lParam) 
End If 
End Function 

'以下在Form 
Private Sub Form_Load() 
Call EnableKBDHook 
End Sub 

Private Sub Form_Unload(Cancel As Integer) 
Call UnHookKBD 
End Sub
相关教程
  • 回复@遇得:难道你认为他们没有深入领会 2019-05-24
  • 天津通报5起违反中央八项规定精神典型问题 2019-05-24
  • 俄官员说俄韩领导人将讨论同朝鲜三方合作项目 2019-05-23
  • 【大家谈】干部轻装上阵有了“护身符” 2019-05-23
  • 机场高速收费之争 春城壹网 七彩云南 一网天下 2019-05-23
  • 有没有上城客在越南的踪迹? 2019-05-22
  • 海上洄游时 北海狗 连续两周深睡眠 2019-05-22
  • 2018高考志愿填报规则:五大误区家长需谨慎 2019-05-21
  • 罗超毅:中国棋牌发展新蓝图 2019-05-21
  • 他们是中国军人,他们2个月排除380万平方米雷场 2019-05-21
  • 今天明天后天 雷雨赶不走闷热天 2019-05-20
  • “中国城市互联网生活消费·成都指数”论坛 2019-05-20
  • 亚冠-埃神破门于海摆乌龙 上港1-3鹿岛晋级告急 2019-05-20
  • Facebook公关掌门离职 是应对隐私丑闻干将 2019-05-19
  • 匹夫有责之一百一十一 (原创首发) 2019-05-19
  • 134| 708| 432| 343| 132| 154| 839| 365| 372| 20|