我在我的Delphi应用程序中使用了一个TWebbrowser组件,其内容以编程方式加载:
(aWebBrowser.Document as IPersistStreamInit).
Load(TStreamAdapter.Create(aMemoryStream))
在每次加载时,组件都会产生恼人的咔嗒声。这可以禁用吗?
TIA
答案 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标准的“开始导航”声音(参见“控制面板” - “声音和音频设备”)?