Delphi_捕获TWebBrowser的Close事件

转载 2013年12月04日 23:51:54

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编译环境下测试通过。


原文来自:http://www.learnew.com/archives/146.htm

论WebBrowser捕获window.close

     最近在做项目的时候用到了WebBrowser,需要在关闭网页的同时关闭WebBroser所在的WinForm界面,在网上及MSDN找到的方法都不是很好,偶然在code project中找到了...
  • nabber
  • nabber
  • 2009年06月30日 11:13
  • 4640

Delphi处理TWebBrowser的Close事件

当TWebBrowser控件访问的 Web 页上的脚本调用window.close方法时,TWebBrowser控件可能会在窗体中消失。我们的程序应该对此作出反应,否则再次访问TWebBrowser控...
  • diligentcat
  • diligentcat
  • 2013年12月10日 13:13
  • 736

Delphi中使用TWebBrowser时存在内存泄漏问题

我在这篇blog: http://blog.csdn.net/ScriptBaby/archive/2004/07/24/50989.aspx 中提到了TWebBrowser的内存泄漏问题. 也许是大...
  • ScriptBaby
  • ScriptBaby
  • 2007年05月20日 23:19
  • 2971

vb.net WPF webbrowser window.close 关闭后不触发 WindowClosing 事件 WNDPROC解决方案

 vb.net WPF webbrowser window.close 关闭后不触发 WindowClosing 事件 WNDPROC解决方案 #Region "WPF 当浏览器窗口关闭时...
  • jiaguoxinzhi
  • jiaguoxinzhi
  • 2014年07月30日 16:58
  • 2450

TWebBrowser控件使用指定IE版本显示网页

好记性不如烂笔头,转自QQ群。 procedure IEEmulator(VerCode: Integer); var RegObj: TRegistry; begin RegObj := ...
  • tht2009
  • tht2009
  • 2015年11月20日 10:37
  • 1577

设置QWidget关闭时触发的事件

 触发关闭事件实际上就是重写closeEvent()事件当使用者想要关闭窗口的时候,closeEvent事件被发送给窗口。通常是选择菜单上的“Close”按钮,//在头文件中加入protected: ...
  • weihua1984
  • weihua1984
  • 2011年03月31日 09:13
  • 5488

如何在javascript中捕获浏览器关闭按钮或退出页面的事件

很多时候,我们有一定的要求做一些东西,如无效会话每当用户点击浏览器的关闭按钮,从而在浏览器中调用close事件。   让我们来看看如何使用JavaScript。在JavaScript中,我...
  • newcnzz
  • newcnzz
  • 2012年12月12日 11:57
  • 1036

看懂此文,不再困惑于javascript中的事件绑定、事件冒泡、事件捕获和事件执行顺序

抽空学习了下,javascript和jquery的事件设计,收获颇大,总结此贴,和大家分享。到这里是不是可以理解addEventListener(type,handler,useCapture)这个A...
  • aitangyong
  • aitangyong
  • 2015年01月28日 23:13
  • 10949

layer.close()层关闭后如何刷新父窗体

之前我是这样写的: if (data > 0) { alert("添加成功"); window.location.href="BusnumberCheck.html"; //刷新父窗口 ...
  • a110658684
  • a110658684
  • 2016年10月09日 15:12
  • 3202

Delphi TWebBrowser

Delphi WebBrowser控件的使用 WebBrowser控件属性: 1、Application       如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(I...
  • fghydx
  • fghydx
  • 2014年03月28日 09:01
  • 1344
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Delphi_捕获TWebBrowser的Close事件
举报原因:
原因补充:

(最多只允许输入30个字)