Delphi中WebBrowser拦截网页Alert对话框消息(转)
Posted 程序员之梦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);//这里屏蔽了alert Result := S_OK; end; procedure TForm1.FormCreate(Sender: TObject); begin WebBrowser1.Navigate(‘E:/alert.htm‘); end; end.
方法是实现了IDocHostShowUI接口,重写了弹出消息的方法。
以上是关于Delphi中WebBrowser拦截网页Alert对话框消息(转)的主要内容,如果未能解决你的问题,请参考以下文章
delphi WebBrowser控件上网页验证码图片识别教程
delphi webbrowser,如何调整webbrowser里面打开网页的大小,或者使打开的内容适应webbrowser控件的大小。