vb6能“被动”发现新程序窗口吗?该如何处理

vb6能“被动”发现新程序窗口吗?
举例:我想在出现或已存在“QQ用户登录”标题的窗口时立即做出反应,有被动等待系统消息的方法吗?给个代码吧!
  (我以前用的是 :FindWindow(vbNullString, "QQ用户登录",放进timer里不停地刷,觉得这样做要占系统资源,不理想,不知怎样取得)

------解决方案--------------------
给系统挂钩子,监视 WM_CREATE 消息
------解决方案--------------------
获取窗体被创建,关闭等等用RegisterShellHook即可具体用法自己去搜索。已存在的还是你的老方法。