Windows TWebbrowser中的咔哒声

Windows TWebbrowser中的咔哒声,windows,delphi,twebbrowser,Windows,Delphi,Twebbrowser,从这个答案 有人知道如何停止咔哒声吗。当我把它放到一个单独的pas文件中时,它在Delphi XE中似乎不起作用。少了一些。还有其他原因,为什么它不能编译,所以我有点卡住了 这就是我所做的 unit untUrlMon; interface uses Windows; const GET_FEATURE_FROM_THREAD = $00000001; GET_FEATURE_FROM_PROCESS = $00000002; GET_FEATURE_FROM_REG

从这个答案

有人知道如何停止咔哒声吗。当我把它放到一个单独的pas文件中时,它在Delphi XE中似乎不起作用。少了一些。还有其他原因,为什么它不能编译,所以我有点卡住了

这就是我所做的

unit untUrlMon;

interface

uses
    Windows;

const
  GET_FEATURE_FROM_THREAD = $00000001;
  GET_FEATURE_FROM_PROCESS = $00000002;
  GET_FEATURE_FROM_REGISTRY = $00000004;
  GET_FEATURE_FROM_THREAD_LOCALMACHINE = $00000008;
  GET_FEATURE_FROM_THREAD_INTRANET = $00000010;
  GET_FEATURE_FROM_THREAD_TRUSTED = $00000020;
  GET_FEATURE_FROM_THREAD_INTERNET = $00000040;
  GET_FEATURE_FROM_THREAD_RESTRICTED = $00000080;

  SET_FEATURE_ON_THREAD = $00000001;
  SET_FEATURE_ON_PROCESS = $00000002;
  SET_FEATURE_IN_REGISTRY = $00000004;
  SET_FEATURE_ON_THREAD_LOCALMACHINE = $00000008;
  SET_FEATURE_ON_THREAD_INTRANET = $00000010;
  SET_FEATURE_ON_THREAD_TRUSTED = $00000020;
  SET_FEATURE_ON_THREAD_INTERNET = $00000040;
  SET_FEATURE_ON_THREAD_RESTRICTED = $00000080; 

type
  INTERNETFEATURELIST = (
    FEATURE_OBJECT_CACHING,
    FEATURE_ZONE_ELEVATION,
    FEATURE_MIME_HANDLING,
    FEATURE_MIME_SNIFFING,
    FEATURE_WINDOW_RESTRICTIONS,
    FEATURE_WEBOC_POPUPMANAGEMENT,
    FEATURE_BEHAVIORS,
    FEATURE_DISABLE_MK_PROTOCOL,
    FEATURE_LOCALMACHINE_LOCKDOWN,
    FEATURE_SECURITYBAND,
    FEATURE_RESTRICT_ACTIVEXINSTALL,
    FEATURE_VALIDATE_NAVIGATE_URL,
    FEATURE_RESTRICT_FILEDOWNLOAD,
    FEATURE_ADDON_MANAGEMENT,
    FEATURE_PROTOCOL_LOCKDOWN,
    FEATURE_HTTP_USERNAME_PASSWORD_DISABLE,
    FEATURE_SAFE_BINDTOOBJECT,
    FEATURE_UNC_SAVEDFILECHECK,
    FEATURE_GET_URL_DOM_FILEPATH_UNENCODED,
    FEATURE_TABBED_BROWSING,
    FEATURE_SSLUX,
    FEATURE_DISABLE_NAVIGATION_SOUNDS,
    FEATURE_DISABLE_LEGACY_COMPRESSION,
    FEATURE_FORCE_ADDR_AND_STATUS,
    FEATURE_XMLHTTP,
    FEATURE_DISABLE_TELNET_PROTOCOL,
    FEATURE_FEEDS,
    FEATURE_BLOCK_INPUT_PROMPTS,
    FEATURE_ENTRY_COUNT
  );

function CoInternetIsFeatureEnabled(FeatureEntry: INTERNETFEATURELIST; dwFlags: DWORD): HRESULT; stdcall; external 'urlmon.dll'

implementation

function CoInternetSetFeatureEnabled(FeatureEntry: INTERNETFEATURELIST; dwFlags: DWORD; fEnable: BOOL): HRESULT; stdcall; external 'urlmon.dll'

begin
  if CoInternetIsFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, GET_FEATURE_FROM_PROCESS) = S_FALSE then
    CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_ON_PROCESS, True); 
end;
如果将最后一个“end;”替换为“end.”,则应该编译它

我相信在两个函数声明之后还需要“;”(在“external'urlmon.dll'”部分之后)

最后一个“开始/结束”将在包含该单元的每个程序中自动运行。

如果将最后一个“结束”替换为“结束”,则应编译该单元

我相信在两个函数声明之后还需要“;”(在“external'urlmon.dll'”部分之后)


最后一个“开始/结束”将自动运行在包含该单元的每个程序中。

我想您需要这样的程序:

unit untUrlMon;

implementation

uses
  Windows;

const
  SET_FEATURE_ON_PROCESS = $00000002;
  FEATURE_DISABLE_NAVIGATION_SOUNDS = 21;

function CoInternetSetFeatureEnabled(FeatureEntry: DWORD; dwFlags: DWORD; fEnable: BOOL): HRESULT; stdcall; external 'urlmon.dll';

initialization
  CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_ON_PROCESS, True); 

end.

我想你需要这样的东西:

unit untUrlMon;

implementation

uses
  Windows;

const
  SET_FEATURE_ON_PROCESS = $00000002;
  FEATURE_DISABLE_NAVIGATION_SOUNDS = 21;

function CoInternetSetFeatureEnabled(FeatureEntry: DWORD; dwFlags: DWORD; fEnable: BOOL): HRESULT; stdcall; external 'urlmon.dll';

initialization
  CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_ON_PROCESS, True); 

end.

您是否调用了
CoInternalIsFeatureEnabled()
,或者只是将其放入一个单元中,并期望它在不做任何其他操作的情况下工作?请编辑您的问题以显示如何调用该方法。如果它在D2010中有效,那么它将在XE中有效。发布所有内容,包括如何从自己的代码中调用
CoInternetIsFeatureEnabled
。我的意思是它不可编译。我把另一个代码添加到pas文件中——正如你们所看到的,现在有了接口,使用等等。什么东西没有编译?错误消息是什么?不编译的东西通常会生成一条编译器错误消息,它会将您指向一个行号。您能提供这些信息吗?您是否调用了
CoInternalIsFeatureEnabled()
,或者只是将其放入一个单元中,并期望它在不做任何其他操作的情况下工作?请编辑您的问题以显示如何调用该方法。如果它在D2010中有效,那么它将在XE中有效。发布所有内容,包括如何从自己的代码中调用
CoInternetIsFeatureEnabled
。我的意思是它不可编译。我把另一个代码添加到pas文件中——正如你们所看到的,现在有了接口,使用等等。什么东西没有编译?错误消息是什么?不编译的东西通常会生成一条编译器错误消息,它会将您指向一个行号。你能提供这些信息吗?如果我在Delphi 2010中对大纲进行了更改,它会很好地编译。如果我在Delphi 2010中对大纲进行了更改,它会很好地编译。谢谢,我还必须添加CONST SET_FEATURE_ON_进程,然后它会很好地编译和工作。干杯。@Wizzard看起来我删错了。我更正了我的答案。很高兴听到它起作用了!谢谢,我还必须添加CONST SET_FEATURE_ON_进程,然后它编译并运行良好。干杯。@Wizzard看起来我删错了。我更正了我的答案。很高兴听到它起作用了!