默认情况下,IE内核的网页浏览框(WebBrowser、CHtmlView、CHtmlDialog等控件)在跳转网页、点击按钮时会发出声音,用CoInternetSetFeatureEnabled这个API可以禁止掉。
易语言代码:
.版本 2
.子程序 禁止网页跳转声音
CoInternetSetFeatureEnabled (#FEATURE_DISABLE_NAVIGATION_SOUNDS, #SET_FEATURE_ON_PROCESS, 1)
.DLL命令 CoInternetSetFeatureEnabled, 整数型, "urlmon", "CoInternetSetFeatureEnabled"
.参数 FeatureEntry, 整数型, , INTERNETFEATURELIST
.参数 dwFlags, 整数型, , DWORD
.参数 fEnable, 整数型, , BOOL
.常量 FEATURE_DISABLE_NAVIGATION_SOUNDS, "21", , 禁止跳转声音
.常量 SET_FEATURE_ON_PROCESS, "2", , 仅对当前进程有效
VC/C++代码:
#include <urlmon.h>
#ifndef FEATURE_DISABLE_NAVIGATION_SOUNDS
#define FEATURE_DISABLE_NAVIGATION_SOUNDS 21
#endif
#ifndef SET_FEATURE_ON_PROCESS
#define SET_FEATURE_ON_PROCESS 0x00000002
#endif
void DisableClickSounds()
{
CoInternetSetFeatureEnabled((INTERNETFEATURELIST)FEATURE_DISABLE_NAVIGATION_SOUNDS,SET_FEATURE_ON_PROCESS,true);
}
C#代码:
const int FEATURE_DISABLE_NAVIGATION_SOUNDS = 21;
const int SET_FEATURE_ON_PROCESS = 0x00000002;
[DllImport("urlmon.dll")]
[PreserveSig]
[return: MarshalAs(UnmanagedType.Error)]
static extern int CoInternetSetFeatureEnabled(
int FeatureEntry,
[MarshalAs(UnmanagedType.U4)] int dwFlags,
bool fEnable);
static void DisableClickSounds()
{
CoInternetSetFeatureEnabled(
FEATURE_DISABLE_NAVIGATION_SOUNDS,
SET_FEATURE_ON_PROCESS,
true);
}