上一篇:TWebBrowser访问网页中的表格(转载)
下一篇:TWebBrowser控件彻底防止弹出新窗口2

Delphi捕获TWebBrowser的Close事件

发布于: 2012-12-16 18:36:12   |  发布在: Delphi文章   |  点击:

Delphi使用TWebBrowser控件开发自己的浏览器,如果访问的网页有关闭窗口的JavaScript代码,那么TWebBrowser控件被注销,但应用程序本身并没有关闭,这似乎不是软件开发者乐意看到的。下面的示例介绍了一种捕获网页被关闭的消息的方法:

1. 首先在应用程序窗体上添加一个TApplicationEvents控件(在Additional页上)

2. 编写该控件的OnMessage事件响应代码

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
  if Msg.message = WM_CLOSE then //判断是否关闭消息
  begin
    if WebBrowser1.Handle = Msg.hwnd then //验证消息是否WebBrowser发来的
      Form1.Close; //关闭窗体本身
    Handled := true;
  end;
end;

以上代码在Delphi7编译环境下测试通过。

TWebBrowser事件消息网页