读书人

MFC获取全部窗口句柄

发布时间: 2012-08-26 16:48:06 作者: rapoo

MFC获取所有窗口句柄
请教各位老大我想获取 当前运行的所有的窗口的 句柄,

因小弟MFC经验很浅,所以麻烦请写的详细点

1:代码最好写的能适合新手看,2如何获得所有窗口的句柄,3如何在一个对话框的CLISTBOX 或者 组合框中

显示出来,要详细的 谢谢!

[解决办法]
要找到某个CWnd对象的HWND,用GetSafeHwnd()。

在窗口类中,有句柄的成员变量,可以直接访问: m_hWnd
在窗口类外,可以用AfxGetMainWnd()->m_hWnd获得。

在MainFrame里直接用this;
其它地方用
CMainFrame* pMainFrame = (CMainFrame*)theApp.m_pMainWnd;

想得到一个控件的的句柄
GetDlgItem(ID…)->m_hWnd

得到视图的句柄
AfxGetMainWnd()->GetActiveView();

SDI:
((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView();

MDI:
((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveFrame()->GetActiveView();

读书人网 >VC/MFC

热点推荐