2013-09-11 2 views

ответ

0

Посмотрите на waveOutSetVolume и waveOutGetVolume функции winmm.dll

Private Declare Function waveOutSetVolume Lib "winmm.dll" (ByVal uDeviceID As Integer, ByVal dwVolume As Integer) As Integer 
Private Declare Function waveOutGetVolume Lib "winmm.dll" (ByVal uDeviceID As Integer, ByRef lpdwVolume As Integer) As Integer 

waveOutSetVolume Function

waveOutGetVolume Function

В зависимости от версии ОС ваших целевых компьютеров вам может потребоваться изучить новые API-интерфейсы MMDevice и EndpointVolume.

EndpointVolume Sample Code

+0

Как получить uDeviceID? –

+0

Нам всегда удавалось указать 0 для uDeviceID. – LeftyCoder

0

Наконец я провожу 10+ часов, пробуя различные варианты и перевод C++ и C# коды в VB.NET и, наконец, этот один, кажется, работает, по крайней мере для меня. Попробуйте это ваша собственная личность

Imports System.Runtime.InteropServices 
Imports Microsoft.Win32 

Public Class Form1 

<DllImport("winmm.dll")> 
Public Shared Function waveOutSetVolume(ByVal h As IntPtr, ByVal dwVolume As UInteger) As Integer 
End Function 


Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

    Me.Show() 

    Dim keyValue As String 'disable web click sound 
    keyValue = "%SystemRoot%\Media\" 
    If Environment.OSVersion.Version.Major = 5 AndAlso Environment.OSVersion.Version.Minor > 0 Then 
     keyValue += "Windows XP Start.wav" 
    ElseIf Environment.OSVersion.Version.Major = 6 Then 
     keyValue += "Windows Navigation Start.wav" 
    Else 
     Return 
    End If 
    Dim key As RegistryKey = Registry.CurrentUser.OpenSubKey("AppEvents\Schemes\Apps\Explorer\Navigating\.Current", True) 
    key.SetValue(Nothing, "", RegistryValueKind.ExpandString) 

    Me.WebBrowser1.Navigate("https://www.youtube.com/some_video") 
    waveOutSetVolume(IntPtr.Zero, 0) 


End Sub 

End Class

Смежные вопросы