小弟我想枚举所有窗口,包括所有子窗口,我用了enumwindowws和enumchildwindows,可以枚举出我这个枚举进程创建之前的所有窗口,但是在我的枚举进程创建之后创建的窗口就不可以枚举了。我看spy++刷新之后是可以的,我找了半天都没有找到方法,那位大大可以给我一个方法阿。

解决方案 »

  1.   

    hoho,那可以每次要枚举的时候创建一个新的进程来枚举
      

  2.   

    枚举之,后创建的新窗口用Hook WndProc,截获窗口的WM_CREATE消息就行了
      

  3.   

    mynamelj(夏娃的诱惑) ( ) 信誉:105    Blog  2007-02-08 12:37:39  得分: 0  
     
     
       枚举之,后创建的新窗口用Hook WndProc,截获窗口的WM_CREATE消息就行了
      
     
    --------------------------------------------------------------------------------
    hook之后怎么获取窗口的句柄啊
      

  4.   

    产生WM_CREATE消息时lParam会附带一个CREATESTRUCT结构,这个结构里有这个窗口的句柄。
      

  5.   

    CWPSTRUCT 用这个结构吧,这个结构简单点。typedef struct {
        LPARAM lParam;
        WPARAM wParam;
        UINT message;
        HWND hwnd; // 这就是窗口句柄
    } CWPSTRUCT, *PCWPSTRUCT;