В вашем устройстве объявите
var
WebBrowserHandle: HWND;
и
function EnumChildProc(h: HWND; p: LPARAM): boolean; stdcall;
В разделе реализации напишите
function EnumChildProc(h: HWND; p: LPARAM): boolean; stdcall;
var
TestClassName: array[0..31] of AnsiChar;
begin
GetClassNameA(h, @TestClassName, 32);
result := not SameStr(TestClassName, 'Internet Explorer_Server');
if not result then
WebBrowserHandle := h;
end;
Теперь добавьте компонент TApplicationEvents и используйте событие OnShortCut:
procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean);
var
h: HWND;
begin
WebBrowserHandle := 0;
h := FindWindowEx(Handle, 0, 'Shell Embedding', nil);
EnumChildWindows(h, @EnumChildProc, 0);
if WebBrowserHandle = GetFocus then
Handled := true;
end;