static class NativeMethods { [DllImport("winmm.dll", EntryPoint = "waveOutSetVolume")] public static extern int WaveOutSetVolume(IntPtr hwo, uint dwVolume); }
调用:
NativeMethods.WaveOutSetVolume(IntPtr.Zero,音量大小)
windows7下测试通过,因为win7有增强型音量控制, 不清楚xp下行不行, 待会虚拟机上测试。
禁止webbrowser点击、刷新时出现的声音。
public static class UnmanagedCode { private const int FEATURE_DISABLE_NAVIGATION_SOUNDS = 21; private const int SET_FEATURE_ON_THREAD = 0x00000001; private const int SET_FEATURE_ON_PROCESS = 0x00000002; private const int SET_FEATURE_IN_REGISTRY = 0x00000004; private const int SET_FEATURE_ON_THREAD_LOCALMACHINE = 0x00000008; private const int SET_FEATURE_ON_THREAD_INTRANET = 0x00000010; private const int SET_FEATURE_ON_THREAD_TRUSTED = 0x00000020; private const int SET_FEATURE_ON_THREAD_INTERNET = 0x00000040; private const int SET_FEATURE_ON_THREAD_RESTRICTED = 0x00000080; [DllImport("urlmon.dll")] [PreserveSig] [return: MarshalAs(UnmanagedType.Error)] public static extern int CoInternetSetFeatureEnabled(int FeatureEntry, [MarshalAs(UnmanagedType.U4)] int dwFlags, bool fEnable); public static void DisableSound() { UnmanagedCode.CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_ON_THREAD, true); UnmanagedCode.CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_ON_PROCESS, true); UnmanagedCode.CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_IN_REGISTRY, true); UnmanagedCode.CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_ON_THREAD_LOCALMACHINE, true); UnmanagedCode.CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_ON_THREAD_INTRANET, true); UnmanagedCode.CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_ON_THREAD_TRUSTED, true); UnmanagedCode.CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_ON_THREAD_INTERNET, true); UnmanagedCode.CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_ON_THREAD_RESTRICTED, true); } }
调用: UnmanagedCode.DisableSound();
就可以了。