? vb亚博足球娱乐场注册--任意三数字加yabo.com直达官网之如何拦截键盘输入 亚博足球娱乐场注册,亚博娱乐全天彩,亚博官网赢钱不给
VB.net 2010 视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网 VB.net 2010 视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网 VB.net 2010 视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网
SQL Server 2008 视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网 c#入门经典亚博足球娱乐场注册--任意三数字加yabo.com直达官网 Visual Basic从门到精通视频亚博足球娱乐场注册--任意三数字加yabo.com直达官网
当前位置:
首页 > 编程开发 > vb >
  • vb亚博足球娱乐场注册--任意三数字加yabo.com直达官网之如何拦截键盘输入

  • 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
相关亚博足球娱乐场注册--任意三数字加yabo.com直达官网