分享

用API函数控制声卡音量大小

 hdzgx 2017-10-18

介绍使用API函数来控制声卡上的音量大小的示例。在本示例中要用到的API函数为SendMessage()函数。SendMessage()函数用于调用一个窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessage()函数的原型如下:

  1. 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)双击窗体,在打开的代码窗体中输入以下代码:

  1. '声明API  
  2. 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  
  3. Private Const WM_APPCOMMAND As Long = &H319 '定义API
    函数所用到的常量  
  4. Private Const APPCOMMAND_VOLUME_UP As Long = 10 
  5. Private Const APPCOMMAND_VOLUME_DOWN As Long =9 
  6. Private Const APPCOMMAND_VOLUME_MUTE As Long = 8 
  7. Private Sub Command1_Click()                    '音量++按钮  
  8.                                 '调用SendMessage()
    函数来实现声卡上的音量增加  
  9.      SendMessage Me.hwnd, WM_APPCOMMAND, &H30292, 
    APPCOMMAND_VOLUME_UP *    &H10000  
  10. End Sub  
  11. Private Sub Command2_Click()    '音量-按钮  
  12.                                 '调用SendMessage()
    函数来实现声卡上的音量减少  
  13.      SendMessage Me.hwnd, WM_APPCOMMAND, &H30292, 
    APPCOMMAND_VOLUME_DOWN *  &H10000  
  14. End Sub  
  15. Private Sub Command3_Click()            '静音按钮  
  16.                                         '调用
    SendMessage()函数来实现声卡静音  
  17.      SendMessage Me.hwnd, WM_APPCOMMAND, &H200EB0,
    APPCOMMAND_VOLUME_MUTE   * &H10000  
  18. End Sub 

运行程序,在窗体上单击"音量++"按钮可实现声卡的音量增加、"音量- -"按钮可实现声卡的音量减少、"静音"按钮可实现声卡的静音。可将本示例应用到本章中的其他示例中,以实现对声卡的音量进行控制。

通过本小节中的一些示例可发现,通过使用API函数能方便地对计算机中一些系统设置,使用API函数能够实现VB本身不能实现的功能,

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多