在windows中,如果打开多个窗体,当某个不获得焦点的窗体出现对话框时,在任务栏上就会有蓝白闪动的提示,QQ的聊天窗口接受消息也有这个提示。请问如何从多个窗体中筛选出这些窗体?如果有实现方法当然更好。

解决方案 »

  1.   

    自己顶
    FlashWindow(application.handle,True);可以将使窗体闪烁.
    可是如何判断闪烁过而未被激活的窗体,还是不知道怎么实现.
      

  2.   

    在你的Form里面建立一个事件处理函数
    procedure AppActive(Sender: TObject);procedure TForm1.AppActive(Sender: TObject);
    begin
      showmessage('失去焦点');
    end;procedure TForm1.FormShow(Sender: TObject);
    begin
      Application.OnDeactivate := AppActive;
    end;
      

  3.   

    想到一个方法:Hook FlashWindow这个API看看。没试过,不知道行不行!
      

  4.   

    etomahawk(一意孤行) :
    你的意思是用windows的消息钩子吗?
    我会试试.
    期待其他解决方案.