VB的多媒体按键模拟

最近在实验室一边写作业一边用实验室电脑听歌。由于实验室桌子的空间有限,于是键盘被我立起来放在格子壁上。

但是这样就有一个问题,有时候需要切歌的时候按键盘上的多媒体键就非常不方便了。考虑了下,如果在显示器下面的空间放几个控制按钮,连到单片机上,然后单片机将按键数据传给PC,PC端用一个小程序执行模拟键盘输入就OK了。

为了验证模拟键盘的可行性,决定先用VB写一个模拟的demo。


基本用法是

Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


keybd_event(&HB0, 0, 0, 0)
keybd_event(&HB0, 0, &H2, 0)

前面三行是声明,然后后面两行是调用。

keybd_event的用法如声明所示。

bVk是虚拟键盘码(可参考此处),上面的使用的是16进制,前面有个&H。此处用的B0是下一曲的键盘码

bScan是扫描码,可以直接用0.

dwFlag为按键状态,按下是0,弹起是2.

dwExtraInfo一般不用管。


debug的时候总是有问题,但直接运行OK。也懒得管了,能用就行,我也没啥强迫症。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值