拦截键盘输入

转载 2004年10月21日 21:17:00

这是使用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

如何拦截键盘输入(HOOK)

Option ExplicitDeclare Function SetWindowsHookEx Lib "user32" Alias _"SetWindowsHookExA" (ByVal idHo...
  • Snailqiu
  • Snailqiu
  • 2005年02月11日 22:04
  • 1277

mapx 拦截键盘输入

/**//*MapInfo Products Knowledge BaseProduct: MapXVersion: 4.xPlatform: Windows 9598 & Windows NTCat...
  • waterywine
  • waterywine
  • 2007年10月29日 21:45
  • 1313

如何拦截键盘输入

这是使用Keyboard Hook 的范例,它的解释请查VB5 Call WinAPI技巧或Hook的简介 以下在.Bas Option Explicit Declare Function SetWi...
  • ZOU_SEAFARER
  • ZOU_SEAFARER
  • 2007年02月10日 09:48
  • 614

NativeActivity 截取按键事件

Android NativeActivity是android面向native C 的一个Activity封装类,很多逻辑都是在so 中是实现的,所以有时候按键事件时获取不了的。本文就讨论一下,解决这个...
  • qq396225997
  • qq396225997
  • 2015年02月06日 09:58
  • 560

C# + 低级Windows API钩子拦截键盘输入

C#+低级Windows API钩子拦截键盘输入   一. 简介  猫和婴儿有很多共同之处。他们都喜欢吃家中养植的植物,都非常讨厌关门。他们也都爱玩弄你的键盘,结果是,你正发送给你的老板的电子邮件可...
  • doulizheng
  • doulizheng
  • 2008年07月02日 20:20
  • 1078

MFC截获键盘输入值

头文件定义: //消息解释 virtual BOOL PreTranslateMessage(MSG * pMsg); 实现函数: BOOL CGameClient...
  • chuanyu
  • chuanyu
  • 2016年03月16日 18:04
  • 1881

hook键盘驱动中的分发函数实现键盘输入数据的拦截

我自己在看《寒江独钓》这本书的时候,书中除了给出了利用过滤的方式来拦截键盘数据之外,也提到了另外一种方法,就是hook键盘分发函数,将它替换成我们自己的,然后再自己的分发函数中获取这个数据的方式,但是...
  • lanuage
  • lanuage
  • 2017年03月08日 20:11
  • 595

C#低级Windows API钩子拦截键盘输入

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...
  • wem520
  • wem520
  • 2013年06月30日 02:06
  • 821

C#+低级Windows API钩子拦截键盘输入

  C#+低级Windows API钩子拦截键盘输入 摘要 在家里,婴儿和其它动物可能会重击你的计算机键盘,致使出现各种无法预言的结果。本文中的这个C#示例应用程序将向你展示如何基于Windows钩子...
  • WYZSC
  • WYZSC
  • 2008年12月15日 15:07
  • 568

C#+低级Windows API钩子拦截键盘输入

  一. 简介  猫和婴儿有很多共同之处。他们都喜欢吃家中养植的植物,都非常讨厌关门。他们也都爱玩弄你的键盘,结果是,你正发送给你的老板的电子邮件可能是以半截句子发送出去的,你的Excel帐户也被加入...
  • c8640
  • c8640
  • 2007年04月13日 22:57
  • 704
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:拦截键盘输入
举报原因:
原因补充:

(最多只允许输入30个字)