分享

Delphi中WebBrowser拦截网页Alert对话框消息(转)

 quasiceo 2014-08-09

Delphi中WebBrowser拦截网页Alert对话框消息(转)

interface 
   
uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, OleCtrls, SHDocVw, ActiveX; 
   
type 
  IDocHostShowUI = interface(IUnknown) 
    ['{c4d244b0-d43e-11cf-893b-00aa00bdce1a}'
    function ShowMessage(hwnd: THandle; lpstrText: POLESTR; lpstrCaption: POLESTR;dwType: longint; lpstrHelpfile: POLESTR; dwHelpContext: longint;var plResult: LRESULT): HRESULT; stdcall; 
    function ShowHelp(hwnd: THandle; pszHelpfile: POLESTR; uCommand: integer;dwData: longint; ptMouse: TPoint; var pDispatchObjectHit: IDispatch): HRESULT; stdcall; 
  end
   
  TWebBrowser = class(SHDocVw.TWebBrowser,IDocHostShowUI) 
  protected 
    function ShowMessage(hwnd: THandle; lpstrText: POLESTR; lpstrCaption: POLESTR;dwType: longint; lpstrHelpfile: POLESTR; dwHelpContext: longint;var plResult: LRESULT): HRESULT; stdcall; 
    function ShowHelp(hwnd: THandle; pszHelpfile: POLESTR; uCommand: integer;dwData: longint; ptMouse: TPoint; var pDispatchObjectHit: IDispatch): HRESULT; stdcall; 
  end
   
   
type 
  TForm1 = class(TForm) 
    WebBrowser1: TWebBrowser; 
    procedure FormCreate(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end
   
var 
  Form1: TForm1; 
   
implementation 
   
{$R *.dfm} 
   
{ TWebBrowser } 
   
function TWebBrowser.ShowHelp(hwnd: THandle; pszHelpfile: POLESTR; uCommand, 
  dwData: Integer; ptMouse: TPoint; var pDispatchObjectHit: IDispatch): HRESULT; 
begin 
  Result := S_FALSE; 
end
   
function TWebBrowser.ShowMessage(hwnd: THandle; lpstrText, 
  lpstrCaption: POLESTR; dwType: Integer; lpstrHelpfile: POLESTR; 
  dwHelpContext: Integer; var plResult: LRESULT): HRESULT; 
begin 
  plResult := MessageBoxW(hwnd,PWChar(lpstrText),'Title',64); 
  Result := S_OK; 
end
   
procedure TForm1.FormCreate(Sender: TObject); 
begin 
  WebBrowser1.Navigate('E:/alert.htm'); 
end
   
end

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章