VB键盘判断按键

作者&投稿:敞磊 (若有异议请与网页底部的电邮联系)
VB如何判断是否按下键盘上某个键~

把判断代码放到KeyDown事件中,KeyCode是这个事件的参数,在别的过程里无效。
另外,要注意按键的接收对象,焦点在按钮则需要在按钮的KeyDown事件,或者设置窗体的KeyPreview=True,这样窗体总是能够接收到按键。

窗体上放个Timer1,Interval设为100,Enabled为true
代码如下
Private Declare Function GetAsyncKeyState Lib "User32" (ByVal Vkey As Long) As Integer

Private Function MyHotKey(vKeyCode) As Boolean
MyHotKey = GetAsyncKeyState(vKeyCode) < 0
End Function

Private Sub Timer1_Timer()
If MyHotKey(vbKeyF4) Then MsgBox "你按下了F4"
End Sub

可以啊,是我写的多了,vbKeyF4是vb常数F4的键码,你可以改成其它的键码,如果组合键再加组合键的判断,如Shift+f4改成下面代码

Private Sub Timer1_Timer()
If MyHotKey(vbKeyF4) and MyHotKey(vbKeyShift)Then MsgBox "你按下了Shift+F4"
End Sub

我才是,其它人捣乱复制我的,你要看清回答者的名字

如果是在自己的程序中,可以利用自身的按键事件,如果是全局键盘,那就要用到键盘hook技术了,比较复杂。

Private Sub Form_Load()

Label1.Caption = ""

Text1 = ""

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then '回车键

Label1.Caption = 1

ElseIf KeyAscii = 8 Then '退格键

Label1.Caption = 2

Else '其他按键

Label1.Caption = 3

End If

Me.Cls

Print KeyAscii

End Sub



假设窗体是Form1,标签控件是Label1,代码如下:

Private Sub Form1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 13
Label1.Caption = 1
Case 8
Label1.Caption = 2
Case Else
Label1.Caption = 2
End Select
End Sub

在VBA中测试OK。我没有VB。

Private Declare Function GetAsyncKeyState Lib "user32" ( ByVal vKey As Long) As Integer '声明一个api,判断指定键是否按下Private Sub timer1_timer()If GetAsyncKeyState(vbKeyReturn) Then
Label1.Caption = "回车"
ElseIf GetAsyncKeyState(vbKeyBack) Then
Label1.Caption = "退格"
ElseIf GetAsyncKeyState(vbKeyControl) Then
Label1.Caption = "控制键ctrl"ElseIf GetAsyncKeyState(vbKeyShift) Then
Label1.Caption = "功能键shift"
ElseIf GetAsyncKeyState(vbKeyMenu) Then
Label1.Caption = "菜单键alt"
ElseIf GetAsyncKeyState(vbKey1) Then
Label1.Caption = "数字键1"
ElseIf GetAsyncKeyState(vbKey2) Then
Label1.Caption = "数字键2"

'......这里我不在列举,你自己添加需要的if分支,参数vbkey***为键码常量,你自己查询,label对应显示什么信息自己改End If
End SubPrivate Sub Form_Load()
Label1.Caption = "还没右键按下"
Timer1.Interval = 5
Timer1.Enabled = True
End Sub
'加上一个timer,一个label就ok。

退格键会在标签控件中显示2 ,和其他的键盘键子会在标签控件中显示2Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Label1.Caption = "1"
Else
Label1.Caption = "2"
End If
End Sub 退格键会在标签控件中显示2Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Label1.Caption = "1"
Elseif KeyAscii = 8 then
Label1.Caption = "2"
End If
End Sub

If e.KeyCode = Keys.Enter Then
Me.TextBox1.Text = 1
Else e.KeyCode = Keys.Back Then
Me.TextBox1.Text = 2
End If 不知道你是不是6.0 这个是.NET 如果是6.0 这个不行


《火影忍者究极风暴4》键盘默认的按键相对应的都是哪个键?
《火影忍者:究极风暴4》键盘默认的按键相对应如下:键盘Enter对应手柄Star(菜单)键盘Backspace对应手柄Back(返回)键盘J对应手柄B(普通攻击)键盘K对应手柄X(扔手里剑)键盘L对应手柄A(跳跃)键盘I对应手柄RT(防御)键盘E对应手柄LT(替身)键盘Q对应手柄RB(队友1)键盘P对应手柄LB(队友2)键盘...

街头霸王5怎么设置键盘按键
G 、H、 J 分别为轻 、中、 重拳,K为三个拳一起按 。 B 、N 、M 、分别为轻、 中 、重脚 ,为三个脚一起按 。 方向控制方面W A S D 和 ↑ ← ↓ → 都可以,还算比较人性化。《街头霸王5》是卡普空(Capcom)等公司使用虚幻4引擎开发制作研发的3D格斗游戏。该作于2016年2月...

电脑键盘上各个键在电脑启动和运行各有什么功能(作用
电脑的键盘一般都是美式键盘,其键数大都是101或104个。107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键大部分位于键盘的右上方。一般认为:键盘上有四个键区,他们是:功能键区、打字键区、辅助键区、小键盘区和三个指示灯。 一、功能键区 1、Esc键:一般起退出或中止某个程序或某种...

B.FRIENDit键盘哪款性价比高
但在特定情况下可以提供保护。5. 键盘的设计简洁而大方,灯效的加入使得整体外观更加吸引人,同时保持了实用的手感。6. B.FRIENDit 巧克力键盘GK5因其低噪音、轻薄设计和美观的外表而受到青睐。7. 键盘四周的灯光带增加了视觉效果,而改进的按键布局使得音量调整更加便捷,只需使用左手即可完成。

底特律变人按键操作全攻略(游戏技巧详解)
- 方向键或左摇杆:控制角色的移动方向;- A、B、X、Y(或相应键盘按键):用于与环境互动、执行动作等;- RT、LT(或相应键盘按键):用于执行特殊动作、开火等。熟练掌握这些基本按键操作,可以帮助玩家更加流畅地进行游戏。2. 合理运用快捷键 在《底特律变人》中,一些重要的操作可能需要玩家快速执行...

键盘上的键都有哪些用途,电脑快捷键大全
电脑键盘快捷键的使用能很好的提高工作效率,所谓的快捷键就是使用键盘上某一个或某几个键的组合完成一条功能命令,从而达到提高操作速度的目的。善于使用快捷键能更快捷的使用电脑,那么电脑键盘快捷键有哪些呢?下面就来简单介绍一下电脑键盘快捷键大全。电脑键盘快捷键大全:Ctrl+1,2,3... 功能:切换...

C–E F–G G–B D–F F–B根据键盘判断两个音之间包含几个半音,几个...
CE之间为两个全音。FG之间为一个全音。GB之间为两个全音。DF之间为一个全音加一个半音。FB之间为三个全音。

键盘的B键N键和问号键突然失灵,请问怎么解决?
原因:1、键盘故障,键盘上的单个按键芯片故障,导致单个按键失效。需更换键盘。2、键盘驱动故障,驱动文件有所损坏。需卸载键盘驱动,重启电脑,系统会自动搜索并安装键盘驱动。操作如下:1、首先在电脑桌面右键“此电脑”或者随便打开一个文件夹,可以在文件夹页面左侧看到“此电脑”,打开“管理”页面;2...

手柄三角键等于键盘
不等于键盘,操作方法 01 手柄:X,Y,A,B,LB,RB,LT,RT。02 对应键盘:J,I,K,L,Left Ctrl,O,Right Ctrl,P。03 基本上是这样对应着的,不过不同游戏可能会有所不同。

《尘埃4》按键操作方法一览 尘埃4怎么操作
1、键盘A键:油门 2、键盘Z键:刹车\/倒车 3、键盘C键:正前方镜头 4、键盘L键:离合器 5、空格键:手刹 6、键盘H键:车头灯 7、键盘F2键:重置车辆 8、键盘F3键:路边维修 9、键盘W键:雨刮 10、键盘S键:上档 11、键盘X键:降挡 12、键盘M键:往后望 13、键盘End键:往下望 14、...

麻山区15884001462: vb中如何判断按键? -
双吉普罗: keypress 事件中用if判断 如:if keyascii=8 then msgbox"你按下了backspace键" if keycode=vbkeyA then msgbox"你按下了A键"

麻山区15884001462: vb 中怎么判断键盘上的某个键被按下了 希望知道的友友们详细说一下 -
双吉普罗: keypress事件响应一个键被按下,经常用法:private sub_keypress(keyascii as integer) if keyascii= then end sub 注意:要把keypreview属性设为true

麻山区15884001462: vb游戏按键判断 -
双吉普罗: 理论上这个图可以实现你标题功能:其中timer 时间500毫秒,初始设置enable=false 备注,把debug.print temp 这句改成你触发a=true dim temp as string 每次按按钮,把按钮记录在这个字符串里面 设置一个timer每次0.5清除temp 每次按按钮,重置timer OK,请采纳

麻山区15884001462: VB实现按键判断 -
双吉普罗: 建Timer1.代码如下.===================== Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If Shift = vbShiftMask Then End End Sub Private Sub Form_Load() Timer1.Enabled = True Timer1.Interval = 5000 End Sub Private Sub Timer1_Timer() MsgBox "你未按下Shift键" End Sub

麻山区15884001462: VB键盘判断按键 -
双吉普罗: 如果是在自己的程序中,可以利用自身的按键事件,如果是全局键盘,那就要用到键盘hook技术了,比较复杂.Private Sub Form_Load() Label1.Caption = "" Text1 = "" End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii ...

麻山区15884001462: vb判定是否按下了`键(1左面的键) -
双吉普罗: 代码如下.============================ Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 192 Then If Shift = vbShiftMask Then MsgBox "按下了“~”键" Else MsgBox "按下了“′”键" End If End If End Sub

麻山区15884001462: VB中如何实现键盘确定功能?
双吉普罗: 先把Form1的KeyPreview属性设置为True,再加入下面的代码即可(比如你的确认按钮为Command1): Private Sub Form_KeyPress(KeyAscii As Integer) If KeyCode = 13 Then Command1.Value = True End Sub

麻山区15884001462: VB中识别CTRL、SHIFT等键 -
双吉普罗: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 16: MsgBox "shift" Case 17: MsgBox "ctrl" End Select End Sub

麻山区15884001462: VB 判断键盘按下和松开
双吉普罗: 最简单的就是key password

麻山区15884001462: VB 判断是否按键 -
双吉普罗: 窗体上放入一个Timer控件 Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Private Sub Form_Load() Timer1.Interval = 200 Timer1.Enabled = True End Sub Private Sub Timer1_Timer() If GetAsyncKeyState(vbKeyQ) Then MsgBox "你按下了Q键" End Sub

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网