请问怎么捕获IE关闭的消息?
急啊!

解决方案 »

  1.   

    用Windows的钩子函数吧!
    用SetWindowsHookEx()安一个钩子,
    用CallNextHookEx()调用钩子链中得到下一个钩子,
    用UnHookWindowsHookEx()把钩子函数从系统中移走。
    在钩子链中传消息时即可修改其Message.有关的钩子类型:
    1.WH_CALLWNDPROC    在SendMessage()函数被调用时,产生一个
                        窗口过程钩子调用,允许修改该消息
    2.WH_CALLWNDPROCRET 在SendMessage()函数返回之后,产生一个
                        窗口过程钩子调用,仅于Windows95下使用。
    3.WH_CBT            一个基于计算机的钩子调用,发生在激活、
                        创建、关闭、极小化、极大化、搬移、或改
                        变一个窗口的大小之前,在完成一个系统命
                        令之前,在清除一个鼠标或键盘命令之前,
                        在设置输入焦点之前,以及在同步系统消息
                        队列之前。
    4.WH_MSGFILTER      一个应用程序消息钩子,调用发生在一个对
                        话框、消息框、或是菜单已接受了一个消息
                        之后,但在该消息真正被处理之前。
    5.WH_SYSMSGFILTER   一个系统范围的消息钩子,在一个对话框、
                        消息框、或是菜单接受到一个消息之后调用,
                        但在该消息真正被处理之前。
      

  2.   

    如果你想知道发什么消息的话,用delphi带的winsight监控一下就知道了,或者用visio studio的spy++都可以。详细使用方法网上应该可以查询得到。
    yq3woaini的意思就是用钩子来捕获ie关闭的消息,否则你不知道哪些消息是ie发出来的
      

  3.   

    关闭窗口一般是发送 wm_close消息你可以考虑挂接WH_CALLWNDPROC钩子或者WH_SHELL钩子
      

  4.   

    至于被关闭的是不是ie,你用getclassname判断一下窗口的类名是否为"IEFrame"就可以了
      

  5.   

    可以时时的获得所有运行的IE窗口,如果有减少的话就说明有IE窗口关闭。
      

  6.   

    handle DWebBrowserEvents2::OnQuit
    http://www.codeproject.com/shell/AutomateShellWindow.asp