简单控制音量大小及静音的方法

我是神舟本本,用FN+F3就是静音,FN+F5/F6就是音量增加/减少.

突然觉得是不是可以用程序实现呀.

因为发现按下的时候并不是像LCD亮度一样由硬件在响应,而是系统在响应.

于是就随便生成了一个EXE并用SPY++看了一下消息,嘿,还真是这样.

整理了一下,代码如下:

'新建EXE工程,添加三个按钮.
'按钮一是音量增加,按钮二是音量减少,按钮三是静音切换.
Option Explicit

Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long

Private Const WM_APPCOMMAND As Long = &H319
Private Const APPCOMMAND_VOLUME_UP As Long = 10
Private Const APPCOMMAND_VOLUME_DOWN As Long = 9
Private Const APPCOMMAND_VOLUME_MUTE As Long = 8

Private Sub Command1_Click()
'音量增加
SendMessage Me.hwnd, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_UP * &H10000
End Sub

Private Sub Command2_Click()
'音量减少
SendMessage Me.hwnd, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_DOWN * &H10000
End Sub

Private Sub Command3_Click()
'静音
SendMessage Me.hwnd, WM_APPCOMMAND, &H200EB0, APPCOMMAND_VOLUME_MUTE * &H10000
End Sub


以后在简单音量控制的场合,这样就方便多了.

特别感谢坏,以及书林跋涉还有"中国程序员联盟2"群里的其他朋友帮忙找出了一些常量的声明

不过还是有两个常量不知道是哪个.....哎~~~先收上来再说吧

上一篇: 星际大转盘~~~~
下一篇: 梦见虫姐了
文章来自: 本站原创
评论: 3 | 引用: 0 | 查看次数: 1708
w7611737
w7611737[2010-05-29 02:55 AM | ]
我一直在找一个可以最大音量的简单的
看了这个我顿悟了
Private Sub Command1_Click()

SendMessage Me.hwnd, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_UP * &H10000
SendMessage Me.hwnd, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_UP * &H10000
SendMessage Me.hwnd, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_UP * &H10000
SendMessage Me.hwnd, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_UP * &H10000
SendMessage Me.hwnd, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_UP * &H10000
…………………………………………………………………………………………………………………………………………

SendMessage Me.hwnd, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_UP * &H10000
End Sub


回复来自 admin 的评论 admin 于 2010-05-29 04:30 PM 回复
-_-b
admin
admin[2008-04-10 05:13 PM | ]
要进行完整的控制,还是要使用相关的API.

这里有一个比较全的类,可以实现全面控制,推荐:

http://xsoft.bokee.com/4780183.html

而我整理的这个技巧,在简单控制时应该能派上用场,不过完全的控制还是得用API
att
att[2008-04-10 08:53 AM | ]
感谢!!
麦克风音量如何控制??