我是靠谱客的博主 动听蜡烛,最近开发中收集的这篇文章主要介绍MFC里AfxGetThread()与AfxGetAPP()的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 1 CWinThread* AFXAPI AfxGetThread()
 2 {
 3     // check for current thread in module thread state
 4     AFX_MODULE_THREAD_STATE* pState = AfxGetModuleThreadState();
 5     CWinThread* pThread = pState->m_pCurrentWinThread;
 6 
 7     // if no CWinThread for the module, then use the global app
 8     if (pThread == NULL)
 9         pThread = AfxGetApp();
10 
11     return pThread;
12 }
1 _AFXWIN_INLINE CWinApp* AFXAPI AfxGetApp()
2 {
3 return afxCurrentWinapp;
4 }
5 //在AFXWIN.H中 #define afxCurrentWinApp AfxGetModuleState()->m_pCurrentWinApp
6 //AfxGetModuleState()就是得到当前模块,AfxGetModuleState()->m_pCurrentWinApp=this;得到当前应用程序的对象指针

AfxGetThread()返回的是当前界面线程对象的指针,AfxGetApp()返回的是应用程序对象theApp的指针.

如果该应用程序(或进程)只有一个界面线程在运行,那么这两者返回的都是一个全局的应用程序对象theApp的指针。

如果在多线程时调用AfxGetThread返回的与AfxGetApp并不一定相同。

转载于:https://www.cnblogs.com/MasterMonkInTemple/archive/2013/05/24/3096453.html

最后

以上就是动听蜡烛为你收集整理的MFC里AfxGetThread()与AfxGetAPP()的区别的全部内容,希望文章能够帮你解决MFC里AfxGetThread()与AfxGetAPP()的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部