vb怎样用sendmessage WM_KEYDOWN 发送特殊按键(发送到桌面)??

vb怎样用sendmessageWM_KEYDOWN发送特殊按键??可以发送到任何已经在系统中运行的程序。不过要发送的按键非常特殊,keycode为170到180,(也就... vb怎样用sendmessage WM_KEYDOWN 发送特殊按键?? 可以发送到任何已经在系统中运行的程序。 不过要发送的按键非常特殊,keycode为170到180,(也就是多媒体键盘上的特殊键,比如音量增加、减少,停止,播放等等),该如何实现? 又或者,用vb编程,怎样可以实现多媒体键盘上的音量加/减,等等功能? 不一定是发送模拟键盘按键的方式,也可以是其它方式,只要可以实现就行了。 (我的键盘上本身没有多媒体按键,不过却有两个根本没有用的特殊按键,所以,想把那两个按键改为其它作用,比如控制音量。那两个按键的keycode分别为255和124.) 展开
 我来答
手机用户74997
2014-08-07 · 超过70用户采纳过TA的回答
知道答主
回答量:128
采纳率:0%
帮助的人:155万
展开全部
虽然不是用 sendmessage 但是解决了你的问题 Option Explicit Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private 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 Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Const KEYEVENTF_KEYUP = &H2 Private Sub Command1_Click() '静音 'keybd_event &HAD, MapVirtualKey(&HAD, 0), 0, 0 'Sleep 100 'keybd_event &HAD, MapVirtualKey(&HAD, 0), KEYEVENTF_KEYUP, 0 '音量减小 'keybd_event &HAE, MapVirtualKey(&HAE, 0), 0, 0 'Sleep 100 'keybd_event &HAE, MapVirtualKey(&HAE, 0), KEYEVENTF_KEYUP, 0 '音量增大 keybd_event &HAF, MapVirtualKey(&HAF, 0), 0, 0 Sleep 100 keybd_event &HAF, MapVirtualKey(&HAF, 0), KEYEVENTF_KEYUP, 0 End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式