getmainwnd专题

AfxGetApp()-GetMainWnd与AfxGetMainWnd的区别

近日,调试程序在工作线程中要使用到主对话框的一个成员变量,当时懒得使用参数传递的方式,直接在函数里面通过afxGetmainWnd获取主窗口指针再通过指针获取成员变量的值,结果运行时报0x000005错误,当把afxGetmainWnd换成AfxGetApp()->GetMainWnd时确一切OK,运行正常,查阅资料得知: AfxGetMainWnd获取的是当前窗口指针; AfxGetApp

AfxGetApp() GetMainWnd()的使用

AfxGetApp( )是全局的。AfxGetApp( )这个函数可以得到当前应用进程的指针,是CWinApp*类型的,通过这个指针可以访问到这个进程中的对象。比如在全局函数中要向对话框中的列表写数据。 void writeString(char* pString) {    CWnd* pWnd = AfxGetApp()->GetMainWnd();   CMyDlg * pDlg;