问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

VB如何获取键盘事件??

发布网友 发布时间:2022-07-25 18:38

我来回答

1个回答

热心网友 时间:2023-10-14 12:37

以下程序包含Mole1和Form1,保存在D:\A.Txt中。此程序打开后不论有无焦点,都会进行记录。程序关闭后,你可以在那个Txt中看到结果。
=======Mole1.Bas=========
Option Explicit

Public Type EVENTMSG
vKey As Long
sKey As Long
flag As Long
time As Long
End Type
Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
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 CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Long) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Public mymsg As EVENTMSG
Public Const WH_KEYBOARD_LL = 13
Public Const WM_KEYDOWN = &H100
Public hHook&, i%, appStr$, SBUF$, pos1$(), pos2$()
Const KBH_MASK = &H20000000
Sub ints()
appStr = "从" & Now & "开始键盘记录如下..." & vbCrLf
SBUF = "96_0|97_1|98_2|99_3|100_4|101_5|102_6|103_7|104_8|105_9|106_*|107_+|109_-|110_.|111_/|13_Enter|144_NumLock|65_A|66_B|67_C|68_D|69_E|70_F|71_G|72_H|73_I|74_J|75_K|76_L|77_M|78_N|79_O|80_P|81_Q|82_R|83_S|84_T|85_U|86_V|87_W|88_X|89_Y|90_Z48_0|49_1|50_2|51_3|52_4|53_5|54_6|55_7|56_8|57_9|192_`|189_-|187_=|220_\|8_BACKSpace|44_Print|45_InSert|46_Delete|145_ScrollLock|36_Home|35_End|19_PauseBreak|33_PageDown|34_PageUp|38_上|40_下|37_左|39_右|27_Esc|112_F1|113_F2|114_F3|115_F4|116_F5|117_F6|118_F7|119_F8|120_F9|121_F10|122_F11|123_F12|9_TAB|20_CapsLock|160_左Shift|162_左Ctrl|91_左Win|13_右Enter|161_右Shift|92_右Win|93_右List|163_右Ctrl"
pos1 = Split(SBUF, "|"): ReDim pos2$(256)
For i = 0 To UBound(pos1) - 1
pos2(Val(pos1(i))) = Mid(pos1(i), InStr(1, pos1(i), "_") + 1)
Next
End Sub
Public Function MyKBHook(ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If ncode = 0 Then
If wParam = WM_KEYDOWN Then
CopyMemory mymsg, ByVal lParam, Len(mymsg)
Write #1, pos2(mymsg.vKey)
End If
End If
MyKBHook = CallNextHookEx(hHook, ncode, wParam, lParam)
End Function
========Form1.Frm=============
Option Explicit

Private Sub form_Load()
Open "d:\a.txt" For Output As 1 '这里是记录文件路径
KeyPreview = 1: ScaleMode = 3: AutoRedraw = 1
Mole1.ints
hHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf MyKBHook, App.hInstance, 0)
If hHook = 0 Then End
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call UnhookWindowsHookEx(hHook)
Close
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then Unload Me
End Sub

参考资料:http://zhidao.baidu.com/question/63838949.html?si=2

vb.net中如何执行键盘事件?

执行键盘事件方法如下:第一步,点击VS工具。第二步,打开后,新建一个Windows窗体应用程序。第三步,请看右下方Form的属性栏。第四步,双击KeyDown。第五步,输入提示按键代码,如图所示。第六步,再次输入代码,设置属性KeyPreview为true。第七步,运行程序,按下举例F5,则会弹出提示,表明已经成功获。

VB如何在窗体中显示按下键盘按键的字母

VB在窗体中显示按下键盘按键的字母可以通过Form_KeyDown获取按键的KeyCode,然后再把KeyCode转换为相应的键的名字。代码如下:Private Sub Form_Load() Me.KeyPreview = True '使窗体可以获取键盘事件End SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Print KeyCodeToStr(Key...

vb.net中如何执行键盘事件?

执行键盘事件方法如下:第一步,点击VS工具。第二步,打开后,新建一个Windows窗体应用程序。第三步,请看右下方Form的属性栏。第四步,双击KeyDown。第五步,输入提示按键代码,如图所示。第六步,再次输入代码,设置属性KeyPreview为true。第七步,运行程序,按下举例F5,则会弹出提示,表明已经成功获。

vb.net如何捕获某窗体的键盘事件

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyEscape Then Unload Me End Sub

VB如何设置按键事件

可以通过GetAsyncKeyState这个API函数和Timer控件来实现 可以参考一下:新建一个窗体 Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Private Const VK_F2 = &H71 Private Sub Timer1_Timer()If GetAsyncKeyState(VK_F2) Then Label1.Caption = "你按了键盘...

vb 如何按下键盘某键后触发事件

给你个VB键盘钩子代码 模块中:Public Function LowLevelKeyboardProc(ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long 'Dim p As PKBDLLHOOKSTRUCT Dim strKey As String If ncode = HC_ACTION Then Select Case wParam Case WM_KEYDOWN CopyMemory p, ByVal ...

VB6.0中,如何键盘触发键盘事件(如:按下h键触发的同时触发回车键)_百度...

先编辑一个窗体或文本框的键盘事件,在过程中,用 if 语句来判断输入的是不是h键,键盘上的每个健都有一个Ascii 码来对应,大写h 是72小写h 是104,如果是的话就让它调用回车键的事件过程就搞定啦!回车键的事件代码你自己想实现什么功能就编辑什么就是了!

VB事件的键盘事件

键盘事件主要有以下几种:(1)KeyDown:当键盘上某键被按下去时发生。(2)KeyUp:键盘上的键抬起来时发生。(3)KeyPree:此事件发生在键盘被按下后和字符被显示出来之前发生。对于键盘事件,相对来说KeyDown事件和KeyUp事件使用比较少,通常情况下对KeyPress事件编程较多,因为此事件注重键盘被按下的是...

用VB 向指定的程序窗口发键盘事件该如何编写?

方法1: 用 SendKeys 语句 AppActivate "接收键盘事件的窗口标题" ' 激活指定窗口 SendKeys "A", True '发送字符 A 方法2: 用 API 函数 这个方法实现起来较复杂,给你一个思路:用 FindWindow 查找特定标题的窗口,获得该窗口的句柄,用 SendMessage 向该窗口发送键盘消息。Declare Function Find...

VB中GetAsyncKeyState函数,得到键盘按键,清除键盘记录!

If (GetAsyncKeyState(VK_SPACE) And &H8000) = &H8000 Then Call 事件A 还有一个API函数GetKeyState是只检测按键的当前状态的,但仍然要检测位15是否为1(位0为1表示开关键打开,即CapsLock、NumLock、ScrollLock键):If (GetKeyState(VK_SPACE) And &H8000) = &H8000 Then Call 事件A ...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
什么是知识产权拒绝许可 手前臂长了个硬硬的小颗粒比黄豆小一半多 ,看不到突出来,它在表皮... 我的左边大腿外侧,有一个小肿块,在皮下,表面看不出来,直径可能不到一厘... ...大腿根部外侧鼓出一个大包,按下去微酸,平时不疼,去医院看过不是脂 ... 大腿外侧长了个黄豆大小的脂肪瘤,原来没有什么感觉,但是最近几个月每个... 大腿外侧长了个瘤子一样的,一年前很小不会有什么不适,现在长的... 我想学做蒸饺,蒸饺的制作哪里有 学习 的涅。。 想吃饺子不会包,看看这个专业的蒸饺教程,从和面调馅到包法全有_百度... 公主连接可可罗怎么样 可可罗值得培养吗 公主连结蝶妈rank怎么选 蝶妈rank选择攻略 vb 键盘事件过程 VB有哪些是鼠标事件?又有哪些是键盘事件? 不知其所由 不得其所欲 以遂其生成 夜而不能寐啥意思? 摩托车离合器干式的好还是是湿式的好? 写近义词 扭转——( ) 对付——( ) 劝阻——( ) 期望——( ) 诞生——( ) 我发了我和我女友的暧昧截图给我女友的老公看,他看了是这个反应 你们从他的语气看出来他是什么心情? 求“朋友之上,恋人未满”之间做的暧昧动作(初中生),急,在线等 红方威士忌兑什么饮料喝最好? 纷纷扰扰 歌词 星座为什么被会分为十二个,而十二星座判断的依据是什么? 如果联通卡上网超流量了怎么办? 雅诗兰黛advancedNightMicroCleansingCremeMoussanteNett advancednight是什么意思 社旗县的东边好玩的地方 盐城(最好是东台)有nit(全国计算机应用技术)培训点? 红酒的产品资质是什么 Android的Thread编程中,我在Thread的run()方法中用Toast输出信息时出错! android 为什么不建议使用Thread.stop Android Thread中读取到的数据,赋值给一个全局变量,再使用全局变量的时候,第一次为空,怎么保证有数据 android开发 thread线程怎么销毁 铃木极客飒摩托车离合器是干式还是湿式? 电视台电话号码 铭瑄MS-N61PE是不是很垃圾 什么是干离合器,湿离合器,有什么区别? 股票情绪温度计哪个软件有 湿式离合器与干式离合器有什么区别? 先天综合判断如何理解。 论述一下康德的先天综合判断? 什么是先天综合判断??请详细回答!! 康德如何论述先天综合判断? 什么是先天综合命题? 先天综合判断的名词简述 先天综合判断的康德解释 康德的先天综合判断到底怎么理解? 为什么康德认为先天综合判断是一切科学的基础?康德是如何解决这一问题的? 长途机票燃油附加费涨至200元,导致燃油附加费上涨的原因有哪些? 凯影摩托车双离合类型,是干式的还是湿式的? 北京新华社照相馆的上班时间是什么时候? 新华社图片采集中心,周六日可以照相吗 北京新华社毕业生信息采集上班时间
  • 焦点

最新推荐

猜你喜欢

热门推荐