Hacer clic en el sonido en TWebbrowser
-
28-10-2019 - |
Pregunta
De esta respuesta CoInternetIsFeatureEnabled en Delphi2010
¿Alguien sabe cómo detener el sonido de clic?Eso no parece funcionar en Delphi XE cuando lo dejo caer en un archivo pas separado.Faltan algunos.y otras razones por las que no se compila, así que estoy un poco atascado.
Esto es lo que hice.
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;
Solución
Me imagino que necesitas algo como esto:
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.
Otros consejos
Si reemplaza el "final" final;con "fin".debería compilarse.
Creo que también necesitas ";"después de las dos declaraciones de función (después de la parte "externa 'urlmon.dll'").
El "inicio / fin" final se ejecuta automáticamente en cada programa en el que incluya esta unidad.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow