最近在实验室一边写作业一边用实验室电脑听歌。由于实验室桌子的空间有限,于是键盘被我立起来放在格子壁上。
但是这样就有一个问题,有时候需要切歌的时候按键盘上的多媒体键就非常不方便了。考虑了下,如果在显示器下面的空间放几个控制按钮,连到单片机上,然后单片机将按键数据传给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) keybd_event(&HB0,&H2,0)
前面三行是声明,然后后面两行是调用。
keybd_event的用法如声明所示。
bVk是虚拟键盘码(可参考此处),上面的使用的是16进制,前面有个&H。此处用的B0是下一曲的键盘码
bScan是扫描码,可以直接用0.
dwFlag为按键状态,按下是0,弹起是2.
dwExtraInfo一般不用管。
debug的时候总是有问题,但直接运行OK。也懒得管了,能用就行,我也没啥强迫症。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。