我想侦测新窗口激活的动作
目前想来想去只觉得应该用hook,hook WM_ACTIVATE消息
但是.net下这个消息似乎捕捉不到,是不是全局的关系?另外,又没有别的解决方法,可以让我的程序知道某个窗口被用户激活了

解决方案 »

  1.   

    我现在只能做到hook程序本身的CBT消息请问究竟如何实现监控别的程序的启动?
    顶一下
    达人帮忙
      

  2.   

    以下是我的一个思路,没测试,请参考一下:
    Form类下有AddOwnedForm方法,使某窗体归另一个窗体所有。当然你也可以用RemoveOwnedForm方法从此窗体移除附属窗体。然后通过OwnedForms属性返回Form 数组,在Form 数组中你可以用迭代的方法找出被用户激活的窗口。另外:你可以考虑用NativeWindow类(有点类似Hook的类),在窗口过程中截获操作系统窗口消息.
      

  3.   

    看错了,是监控别的程序!
    .net好象不支持全局Hook!
      

  4.   

    那是不是用unmanagedcode dll可以做到?