vc++ mfc 关于窗口 句柄 函数的总结

来源:互联网 发布:搭建php mysql云主机 编辑:程序博客网 时间:2024/05/21 03:26

vc++ mfc 关于窗口 句柄 函数的总结

第一篇:

::GetActiveWindow 只是获取当前程序中(严格地说是线程中)被激活的窗口;

HWND hWnd = ::GetActiveWindow();

注意:如果是在多线程中某个子线程函数内部掉该函数,则返回NULL, 建议在主线程中调用

即:如果某个函数有子线程调用的,则该函数内部使用getactivewindow()返回NULL

 

 

 

::GetForeGroundWindow 是获取系统当前正激活的那个窗口(注意不是进程中),

比如说我同时打开任务管理器(它始终处在最顶层)和一个普通窗口,

我现在激活这个普通窗口(它是当前活动窗口,但并不处在最顶层),

用 GetForeGroundWindow 获取到的窗口句柄是这个普通窗口而不是任务管理器

HWND hWnd = ::GetForegroundWindow();

 

 

 

GetLastActivePopup

获取指定进程的最近被激活的窗口,该进程主窗口句柄(afxgetmainWnd()->m_hWnd)作为该函数的参数---此条件是关键

可以在子线程函数内部调用该函数也可以,这点比GetActiveWindow要好

::GetLastActivePopup(HWND hWnd)

 

 

 

GetTopWindow  函数功能:该函数检查的子窗口z序,并返回在z序顶部的子窗口的句柄。 

 函数原型:HWND GetTopWindow(HWND hWnd);  

参数:  hWnd:被查序的父窗口的句柄。如果该参数为NULL,函数返回Z序顶部的窗口句柄。  

返回值;如果函数成功,

返回值为在Z序顶部的子窗口句柄。如果指定的窗口无子窗口,返回值为NULL。

0 0
原创粉丝点击