MFC 获取当前活动窗口的句柄

::AfxGetApp()-> GetMainWnd()->GetSafeHwnd()和::AfxGetMainWnd()->GetSafeHwnd()

 

单线程中两个函数的结果是相同的。 
如果是多线程则不同。前者是主线程的。 
后者是单前所在的线程的。

 

AfxGetApp( )是全局的。
AfxGetApp( )这个函数可以得到当前应用进程的指针,是CWinApp*类型的,通过这个指针可以访问到这个进程中的对象。

 

如果子线程只是一个函数线程的话,在其内使用 ::AfxGetMainWnd()->GetSafeHwnd() 结果为 NULL. 

 

GetActiveWindow

函数功能:该函数可以获得与调用线程的消息队列相关的活动窗口的窗口句柄。  函数原型:HWND GetActiveWindow(VOID)  参数:无。

  返回值:返回值是与调用线程的消息队列相关的活动窗口的句柄。否则,返回值为NULL。

如果在主窗口线程中使用,则获取的是该窗口句柄,若在函数子线程内使用,则为NULL;

你可能感兴趣的:(多线程,活动,null,mfc)