我是神舟本本,用FN+F3就是静音,FN+F5/F6就是音量增加/减少.突然觉得是不是可以用程序实现呀.因为发现按下的时候并不是像LCD亮度一样由硬件在响应,而是系统在响应.于是就随便生成了一个EXE并用SPY++看了一下消息,嘿,还真是这样.整理了一下,先贴代码:'新建EXE工程,添加三个按钮.
'按钮一是音量增加,按钮二是音量减少,按钮三是静音切换.
Option ExplicitPrivate 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 LongPrivate 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 = 8Private Sub Command1_Click()
    '音量增加
    SendMessage Me.hwnd, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_UP * &H10000
End SubPrivate Sub Command2_Click()
    '音量减少
    SendMessage Me.hwnd, WM_APPCOMMAND, &H30292, APPCOMMAND_VOLUME_DOWN * &H10000
End SubPrivate Sub Command3_Click()
    '静音
    SendMessage Me.hwnd, WM_APPCOMMAND, &H200EB0, APPCOMMAND_VOLUME_MUTE * &H10000
End Sub
自己收藏一下,应该能算是个小技巧吧.

解决方案 »

  1.   

    不錯,在IBM 的本本也能起作用,但只有靜音功能起作用。
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    在IBM本本上我试了只有静音有用
    我的软件:http://shareware.skycn.com/author_softlist.php?author_id=26655
      

  3.   

    哈哈,测试了,还真是这样,在台式机上没有问题!我原来一直用下面地址的一个控制系统音量的类模块:http://xsoft.bokee.com/4780183.html
      

  4.   

    这个由于是发消息,估计与硬件无关吧.不然应该是除了我的本本外应该就无效了.在IBM机器上无法使用,会不会是杀软之类的其它原因?//
    chenjl1031 
    东方之珠 
    等 级:
     发表于:2008-02-15 10:34:479楼 得分:0 
    哈哈,测试了,还真是这样,在台式机上没有问题!我原来一直用下面地址的一个控制系统音量的类模块:http://xsoft.bokee.com/4780183.html 
    //这个技巧只能是控制一下音量大小及静音,完整的控制还是得用相关的API,就如你的类里一样
      

  5.   

    常量,一般是去MSDN里搜索如果没有的话就去VC的各头文件里搜索.....不过这里面的几个常量是几个朋友先搜索到的,我就偷懒了哈哈~~~
      

  6.   

    刚刚发了一帖....怎么就不见了....晕.反正意思就是,这些常量是在MSDN里以及VC的头文件里找的...直接搜索值就可以了然后把找到的那些常量翻译到VB里就OK至于这份代码里的常量,本来我也在搜,不过几个朋友速度及经验方面都强于我,不一会就发给我了因此我就偷懒了~~~不过最后还有两个没找到,没有下精力去查....