1

この回答から CoInternetIsFeatureEnabled in Delphi2010

クリック音を止める方法をご存知の方教えてください。別の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;
4

2 に答える 2

6

次のようなものが必要だと思います:

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.
于 2011-05-05T05:00:46.333 に答える
0

最後の「end;」を置き換えると、「終わり」で。コンパイルする必要があります。

「;」も必要だと思います 2 つの関数宣言の後 (「外部 'urlmon.dll'」部分の後)。

最後の「開始/終了」は、このユニットを含めるすべてのプログラムで自動的に実行されます。

于 2011-05-05T04:53:20.903 に答える