- 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
SendMessage()函数的参数说明:
Hwnd:为一个长整型表达式,其值用来表示要接收消息的那个窗口的句柄。
wMsg:为一个长整型表达式,其值表示消息的标识符。
wParam:为一个长整型表达式,其值表示具体取决于消息。
lParam:为一个长整型表达式,其值表示具体取决于消息。
要实现控制声卡音量大小,其操作步骤如下:
(1)新建一个工程,工程名为"控制声卡"。在窗体上添加3个Command控件,Command1的Caption属性为"音量++"、Command2的Caption属性为"音量- -"、Command3的Caption属性为"静音"。
(2)双击窗体,在打开的代码窗体中输入以下代码:
- '声明API
- 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 '定义API
函数所用到的常量 - 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()
函数来实现声卡上的音量增加 - SendMessage Me.hwnd, WM_APPCOMMAND, &H30292,
APPCOMMAND_VOLUME_UP * &H10000 - End Sub
- Private Sub Command2_Click() '音量-按钮
- '调用SendMessage()
函数来实现声卡上的音量减少 - SendMessage Me.hwnd, WM_APPCOMMAND, &H30292,
APPCOMMAND_VOLUME_DOWN * &H10000 - End Sub
- Private Sub Command3_Click() '静音按钮
- '调用
SendMessage()函数来实现声卡静音 - SendMessage Me.hwnd, WM_APPCOMMAND, &H200EB0,
APPCOMMAND_VOLUME_MUTE * &H10000 - End Sub
运行程序,在窗体上单击"音量++"按钮可实现声卡的音量增加、"音量- -"按钮可实现声卡的音量减少、"静音"按钮可实现声卡的静音。可将本示例应用到本章中的其他示例中,以实现对声卡的音量进行控制。
通过本小节中的一些示例可发现,通过使用API函数能方便地对计算机中一些系统设置,使用API函数能够实现VB本身不能实现的功能,