Delphi中使用EmbeddedWB屏蔽指定内容的网页对话框

EmbeddedWB是一款Delphi的第三方控件,该控件比Delphi内置的TWebBrowser扩展了许多功能,有些功能的确很好用。

例如,要实现在浏览、控制网页过程中,屏蔽指定内容的网页对话框,就十分容易。只需要在其 OnShowMessage 事件中对返回值设置为 S_OK 即可。而对其他不需屏蔽的对话框,设置函数返回值为 S_FALSE 则可使其仍然照常弹出。

同时,我们还可以设置对话框的返回值。在弹出的对话框中,通常包括确定取消按钮,这两个按钮的返回值分别为 IDOK 和 IDCANCEL。在例程中我设置了对话框的返回值为 IDCANCEL,模拟的是用户点击了取消按钮。如果需要返回点击确定按钮,那么将 plResult 设置为 IDOK 就可以了。


// 使用EmbeddedWB屏蔽指定内容的网页对话框
function TForm1.EmbeddedWB1ShowMessage(Sender: TObject; HWND: Cardinal;
  lpstrText, lpstrCaption: PWideChar; dwType: Integer;
  lpstrHelpFile: PWideChar; dwHelpContext: Integer;
  var plResult: Integer): HRESULT;
begin
  if lpstrText = '要屏蔽的网页对话框内容' then
  begin
    plResult := IDCANCEL; // IDOK
    Result := S_OK;
  end
  else
    Result := S_FALSE;
end;