VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
  • 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
相关教程
  • 2018 E3:女主持人展位探访 被吓的花容失色 2019-02-24
  • 5月末商品房库存继续减少 三、四线城市开启库存短缺时代 2019-02-24
  • 中国公民出入境排队将不超半小时 2019-02-24
  • 鹰潭高新区思想解放添发展动力 2019-02-23
  • 践行新发展理念 全面建成小康社会 2019-02-23
  • 端午节期间 全省道路安全畅通形势平稳 2019-02-23
  • 观众对三观不正影视剧不买账 76.7%受访者拒看 2019-02-23
  • 为峰会喝彩 为市民点赞 为青岛自豪 2019-02-22
  • 宜居中国厕所革命论坛举办 成立首个专业厕所革命研究所--旅游频道 2019-02-22
  • 6集电视文献纪录片《风范——老一辈革命家的故事》 2019-02-21
  • 端午节,跟随习近平找寻中华民族“精气神” 2019-02-21
  • 女排一主攻提前出局!进攻曾不输朱婷 今彻底沦为边缘人 2019-02-21
  • 开放的青岛期待“上合之声” 2019-02-20
  • 工商总局将针对“双11”等网络促销出管理规定 2019-02-20
  • 以法之名 捍卫英烈名誉 2019-02-20
  • 270| 353| 22| 397| 278| 384| 548| 693| 913| 224|