getsafehwnd专题

AfxGetApp(),this-GetSafeHwnd(),AfxGetMainWnd()-m_hWnd

这3个函数经常弄混:        其中AfxGetApp()是得到代表应用程序的唯一对象the  app的地址,和框架、窗口这些不相干;新建的MFC程序的对话框构造函数中就有一句代码m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);加载这个应用程序的ID为IDR_MAINFRAME的图标,作为这个对话框的图标。       AfxGetMainWn

GetSafeHwnd()

当我们想得到一个窗口对象(CWnd的派生对象) 指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数,通过下面的例子来看其理由: CWnd *pwnd = FindWindow(“ExploreWClass”,NULL); //希望找到 资源管理器 HWND hwnd = pwnd->m_hwnd; //得到它的HWND 这样的代码当开始得到的pwnd为空的