Hola a todos,
Dejo aquí una unidad que, con sólo añadirla al proyecto, añade lo necesario para "emular" Internet Explorer 11 en el componente WebBrowser: de este modo, al menos podría usarse esta última versión del explorador, que, ofrece ciertas mejoras, aunque, como he comentado arriba, hoy día, lo mejor sería plantearse utilizar el "WebView2" de Microsoft:
Código Delphi
[-]
unit UBrowserFixes;
interface
type
TBrowserFixes = class(TObject)
public
class procedure Initialize();
class procedure Uninitialize();
end;
implementation
uses
Windows,
SysUtils,
Registry;
const
FEATURE_GPU_RENDERING_KEY = 'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_GPU_RENDERING';
FEATURE_BROWSER_EMULATION_KEY = 'Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION';
class procedure TBrowserFixes.Initialize();
var
ExeName: string;
begin
ExeName := ExtractFileName(ParamStr(0));
with TRegistry.Create() do
try
RootKey := HKEY_CURRENT_USER;
if OpenKey(FEATURE_BROWSER_EMULATION_KEY, True) then
begin
if not ValueExists(ExeName) then
begin
WriteInteger(ExeName, 11001);
end;
CloseKey();
end;
if OpenKey(FEATURE_GPU_RENDERING_KEY, True) then
begin
if not ValueExists(ExeName) then
begin
WriteInteger(ExeName, DWORD(1));
end;
CloseKey();
end;
finally
Free();
end;
end;
class procedure TBrowserFixes.Uninitialize();
var
ExeName: string;
begin
ExeName := ExtractFileName(ParamStr(0));
with TRegistry.Create() do
try
RootKey := HKEY_CURRENT_USER;
if OpenKey(FEATURE_BROWSER_EMULATION_KEY, False) then
begin
if ValueExists(ExeName) then
DeleteValue(ExeName);
CloseKey();
end;
if OpenKey(FEATURE_GPU_RENDERING_KEY, False) then
begin
if ValueExists(ExeName) then
DeleteValue(ExeName);
CloseKey();
end;
finally
Free();
end;
end;
initialization
TBrowserFixes.Initialize();
finalization
TBrowserFixes.Uninitialize();
end.