我正在尝试在单击WebBrowser控件中的链接时停用恼人的声音,而不更改用户registry。 我发现文档可以通过CoInternetIsFeatureEnabled完成, 这里也解释了这一点 。 但是我不知道如何在Delphi 2010上实现它,因为在将URLMon单元包含到项目中后,我得到“Undeclared Identifier”(未声明的标识符)错误,而且没有太多的文档。
有任何想法吗?
CoInternetIsFeatureEnabled()
和CoInternetSetFeatureEnabled()
不包含在D2010的UrlMon.pas副本中。 你将不得不手动申报,例如:
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' 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;