![在vb中如何设置windows声音方案,第1张 在vb中如何设置windows声音方案,第1张](/aiimages/%E5%9C%A8vb%E4%B8%AD%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AEwindows%E5%A3%B0%E9%9F%B3%E6%96%B9%E6%A1%88.png)
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 = &H319Private Const APPCOMMAND_VOLUME_MUTE As Long = 8 Private Sub Command1_Click()'
静音,单击一次静音,再单击一次恢复 SendMessage Me.hwnd, WM_APPCOMMAND, &H200EB0, APPCOMMAND_VOLUME_MUTE * &H10000End Sub竟然没个API用。。。引篇CSDN的文章:用MCI命令,只能对MCI设备起作用。如果有外部设备(比如Windows Media Player和Wimamp播放器)在播放,MCI命令对他们不起任何作用。必须使用混音器调节系统声音,对所有设备都起作用。请看调节系统
音量的类: http://xsoft.bokee.com/4780183.html(里面有很多关于音量设置的
函数,其中有 一个静音设置的函数),放在类代码里,生成ActiveX DLL,然后在VB工程菜单中引用该DLL即可。静音函数 Public Function SetMute(ByVal bMute As Boolean) As Boolean 麻烦了点。。。如果实在找不到你就把它的全篇copy再调用这个函数好了。Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Private Declare Function waveOutGetVolume Lib "winmm.dll" (ByVal uDeviceID As Long, lpdwVolume As Long) As Long
Private Declare Function waveOutSetVolume Lib "winmm.dll" (ByVal uDeviceID As Long, ByVal dwVolume As Long) As Long
Dim vol1
i = waveOutSetVolume(0, -1) '最大音量
i = waveOutSetVolume(0, 1100000000) '音量适中
i = waveOutSetVolume(0, 0)'音量小
i = waveOutSetVolume(0, vol1) '恢复原始音量
k = App.Path + "\*.wav"'播放音乐
L = &H1 Or &H2 '识别标识
i = sndPlaySound(k, L) '播放音乐
评论列表(0条)