现在有几个有界面的windows程序在运行,如果我选中了其中的某一个,
如何能得到这个程序住窗口的CWnd句并或者DC呀,程序是任意的。

解决方案 »

  1.   

    GetForegroundWindow或者通过
    GetTopWindow
    GetNextWindow
    遍历所有窗口,判断哪一个获得了焦点。或者通过
    GetMessagePos
    WindowFromPoint
    来获得鼠标位置下的窗口句柄。
      

  2.   

    从HWND到CWnd:
    CWnd::FromHandle
    从HWND到HDC:
    GetWindowDC
    CDC::FromHandle
      

  3.   

    如果我选中了其中的某一个
    是不是知道他的窗口名字了?
    CWnd *pWnd=FindWindow("NULL","窗口名");
    CDC *pDC=pWnd->GetDC();
      

  4.   

    CWnd *pWnd=FindWindow(NULL,"窗口名");
    CDC *pDC=pWnd->GetDC();