在TWebbrowser中恼人的咔嗒声

时间:2009-03-05 08:14:15

标签: delphi

我在我的Delphi应用程序中使用了一个TWebbrowser组件,其内容以编程方式加载:

(aWebBrowser.Document as IPersistStreamInit).
                               Load(TStreamAdapter.Create(aMemoryStream))

在每次加载时,组件都会产生恼人的咔嗒声。这可以禁用吗?
TIA

4 个答案:

答案 0 :(得分:18)

查看URLMON.DLL中的CoInternetSetFeatureEnabled过程,如文档here所示。为您的应用启用FEATURE_DISABLE_NAVIGATION_SOUNDS可以满足您的需求。

答案 1 :(得分:7)

这是windows setting。我不确定你的应用程序应该改变那个设置。

答案 2 :(得分:2)

好的,这是我试过的:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnActivate := AppActivate;
  Application.OnDeactivate := AppDeactivate;
end;

procedure TForm1.AppActivate(Sender: TObject);
begin
  with TRegistry.Create do
  try
    RootKey := HKEY_CURRENT_USER;
    OpenKey('AppEvents\Schemes\Apps\Explorer\Navigating\.Current', False);
    if ReadString('') <> '' then
      RememberSoundFile := ReadString('');
    WriteString('', '');
  finally
    Free;
  end;
end;

procedure TForm1.AppDeactivate(Sender: TObject);
begin
  with TRegistry.Create do
  try
    RootKey := HKEY_CURRENT_USER;
    OpenKey('AppEvents\Schemes\Apps\Explorer\Navigating\.Current', False);
    WriteString('', RememberSoundFile);
  finally
    Free;
  end;
end;

这很难,但它确实有效。 :-) 虽然我基本同意Davy这个解决方案至少具有其他应用程序不会受到影响的优势 我可以添加它作为用户选项来禁用点击,但我个人真的希望它消失了!

答案 3 :(得分:1)

这可能是Windows标准的“开始导航”声音(参见“控制面板” - “声音和音频设备”)?