如何根据句柄来找到他所对应窗口或类的指针,有API吗?

解决方案 »

  1.   

    static CWnd* PASCAL FromHandle(
       HWND hWnd 
    );
    可以获得一个临时的指针
    我使用的时候,经常会出现无法释放的问题
    好像是什么句柄映射自动销毁对象,
    用这个  
    BOOL Attach(
       HWND hWndNew 
    );
      

  2.   

    如果知道窗口的句柄,基本上用API就可以完成大部分问题了,如果你非要类的指针,API我倒是不知道,不过,MFC的CWND有这个函数
    BOOL Attach( HWND hWndNew );
    函数功能:把一个窗口句柄绑定到当前的窗口对象,参照CDC类。
    返回值 :成功返回true,否则返回false
    参数1:要绑定的窗口句柄static CWnd* PASCAL FromHandle( HWND hWnd );
    函数功能:根据参数中指定句柄的窗口构造窗口对象,有可能的话创建临时对象
    返回值 : 返回与参数中的句柄相对应的窗口对象
    参数1:窗口句柄Cwnd *cwnd1;
    cwnd1=new cwnd;
    cwnd1->Attach(hwnd);
      

  3.   

    LONG GetWindowLong(
      HWND hWnd,  // handle to window
      int nIndex  // offset of value to retrieve
    );