窗口位置相关的函数和概念
2008-06-23 22:03
399 查看
1.FindWindow
函数原型: HWND FindWindow ( LPCTSTR lpClassName, LPCTSTR lpWindowName );
一般把lpClassName置为NULL,用lpWindowName查找,查找成功后返回窗口句柄,如果多个窗口的名称都
是 lpWindowName,这个函数只返回查到到的第一个。
2.EnumWindows
BOOL EnumWindows ( WNDENUMPROC lpEnumFunc, // callback function LPARAM lParam // application-defined value );
lpEnumFunc是回调函数,必须自己定义,形如:
BOOL CALLBACK EnumWindowsProc ( HWND hwnd, // handle to parent window LPARAM lParam // application-defined value );
hwnd是EnumWindows函数枚举的窗口句柄,hwnd和lParam是EnumWindows函数回调时传入的,在EnumWindowsProc函数中可以对窗口作处理。
以上两个函数都只找顶层窗口,不找子窗口
3.Top_Level窗口即主窗口,里面可以包含子窗口;TOPMOST窗口是始终置顶的窗口;active window是目前处于编辑状态的窗口,它是对于Top_Level而言的,一个子窗口处于编辑状态,则包含它的父窗口是active window.
4.GetWindow
函数原型:HWND GetWindow(HWND hWnd,UNIT nCmd)
nCmd:
GW_CHILD:如果指定窗口是父窗口,则获得的是在Z序顶端的子窗口的句柄,否则为NULL。 GW_HWNDNEXT:返回的句柄标识了在Z序中指定窗口下的相同类型的窗口。如果指定窗口是TOPMOST窗口,则该句柄标识了在指定窗口下的TOPMOST窗口: 如果指定窗口是Top_Level窗口,则该句柄标识了在指定窗口下的Top_Level窗口;如果指定窗口是子窗口,则句柄标识了在同父窗口下的下一个子窗口。
5.IsWindow判断一个句柄标识的是否是一个窗口
6.GetDesktopWindow:该函数返回桌面窗口的句柄。桌面窗口覆盖整个屏幕。桌面窗口是一个要在其上绘制所有的图标和其他窗口的区域,它是所有其他窗口的父窗口
7.FindWindowEx:
原型:HWND FindWindowEx(HWND hwndParent,HWND hwndChildAfter,LPCTSTR lpszClass,LPCTSTR lpszWindow)
hwndParent:要查找子窗口的父窗口句柄。
如果hwnjParent为NULL,则函数以桌面窗口为父窗口,查找桌面窗口的所有子窗口。
Windows NT5.0 and later:如果hwndParent是HWND_MESSAGE,函数仅查找所有消息窗口。
hwndChildAfter :子窗口句柄。查找从在Z序中的下一个子窗口开始。子窗口必须为hwndParet窗口的直接子窗口而非后代窗口。
如果HwndChildAfter为NULL, 查找从hwndParent的第一个子窗口开始。
如果hwndParent 和 hwndChildAfter同时为NULL,则函数查找所有的顶层窗口及消息窗口。
lpszClass:窗口类名
lpszWindow:窗口名(窗口标题)
8.EnumChildWindows:枚举指定窗口的所有子窗口
原型:
BOOL EnumChildWindows( HWND hWndParent, // handle to parent window // 父窗口句柄
WNDENUMPROC lpEnumFunc, // callback function // 回调函数的地址
LPARAM lParam // application-defined value // 你自已定义的参数
);
9.FindWindowEx,EnumChildWindows常用于得到窗口中的子窗口控件,在循环体中调用函数EnumChildWindow比调用GetWindow函数可靠。 调用GetWindow函数实现该任务的应用程序可能会陷入死循环或退回一个已被销毁的窗口句柄。
10.把灰色按钮置为可用就是查找到灰色按钮的窗口,得到其句柄,然后把它变成可用的。
函数原型: HWND FindWindow ( LPCTSTR lpClassName, LPCTSTR lpWindowName );
一般把lpClassName置为NULL,用lpWindowName查找,查找成功后返回窗口句柄,如果多个窗口的名称都
是 lpWindowName,这个函数只返回查到到的第一个。
2.EnumWindows
BOOL EnumWindows ( WNDENUMPROC lpEnumFunc, // callback function LPARAM lParam // application-defined value );
lpEnumFunc是回调函数,必须自己定义,形如:
BOOL CALLBACK EnumWindowsProc ( HWND hwnd, // handle to parent window LPARAM lParam // application-defined value );
hwnd是EnumWindows函数枚举的窗口句柄,hwnd和lParam是EnumWindows函数回调时传入的,在EnumWindowsProc函数中可以对窗口作处理。
以上两个函数都只找顶层窗口,不找子窗口
3.Top_Level窗口即主窗口,里面可以包含子窗口;TOPMOST窗口是始终置顶的窗口;active window是目前处于编辑状态的窗口,它是对于Top_Level而言的,一个子窗口处于编辑状态,则包含它的父窗口是active window.
4.GetWindow
函数原型:HWND GetWindow(HWND hWnd,UNIT nCmd)
nCmd:
GW_CHILD:如果指定窗口是父窗口,则获得的是在Z序顶端的子窗口的句柄,否则为NULL。 GW_HWNDNEXT:返回的句柄标识了在Z序中指定窗口下的相同类型的窗口。如果指定窗口是TOPMOST窗口,则该句柄标识了在指定窗口下的TOPMOST窗口: 如果指定窗口是Top_Level窗口,则该句柄标识了在指定窗口下的Top_Level窗口;如果指定窗口是子窗口,则句柄标识了在同父窗口下的下一个子窗口。
5.IsWindow判断一个句柄标识的是否是一个窗口
6.GetDesktopWindow:该函数返回桌面窗口的句柄。桌面窗口覆盖整个屏幕。桌面窗口是一个要在其上绘制所有的图标和其他窗口的区域,它是所有其他窗口的父窗口
7.FindWindowEx:
原型:HWND FindWindowEx(HWND hwndParent,HWND hwndChildAfter,LPCTSTR lpszClass,LPCTSTR lpszWindow)
hwndParent:要查找子窗口的父窗口句柄。
如果hwnjParent为NULL,则函数以桌面窗口为父窗口,查找桌面窗口的所有子窗口。
Windows NT5.0 and later:如果hwndParent是HWND_MESSAGE,函数仅查找所有消息窗口。
hwndChildAfter :子窗口句柄。查找从在Z序中的下一个子窗口开始。子窗口必须为hwndParet窗口的直接子窗口而非后代窗口。
如果HwndChildAfter为NULL, 查找从hwndParent的第一个子窗口开始。
如果hwndParent 和 hwndChildAfter同时为NULL,则函数查找所有的顶层窗口及消息窗口。
lpszClass:窗口类名
lpszWindow:窗口名(窗口标题)
8.EnumChildWindows:枚举指定窗口的所有子窗口
原型:
BOOL EnumChildWindows( HWND hWndParent, // handle to parent window // 父窗口句柄
WNDENUMPROC lpEnumFunc, // callback function // 回调函数的地址
LPARAM lParam // application-defined value // 你自已定义的参数
);
9.FindWindowEx,EnumChildWindows常用于得到窗口中的子窗口控件,在循环体中调用函数EnumChildWindow比调用GetWindow函数可靠。 调用GetWindow函数实现该任务的应用程序可能会陷入死循环或退回一个已被销毁的窗口句柄。
10.把灰色按钮置为可用就是查找到灰色按钮的窗口,得到其句柄,然后把它变成可用的。
相关文章推荐
- MFC调整窗口尺寸位置的相关函数
- Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-f
- c#窗口位置相关的细节
- 窗体坐标+位置相关函数+屏幕坐标还是逻辑相对坐标
- MFC中获取窗口句柄及相关函数
- 第五章 STL 基本概念、相关函数使用总结
- Qt5位置相关函数
- UE4 位置转换相关函数
- 谈谈iOS下视图、坐标、位置相关等基础概念
- 用 OpenGL 函数实现二维观察的窗口与视区的映射变换,修改视口定义函数,熟悉窗口与视区的概念
- (转)窗口相关概念和对应关系
- Qt5位置相关函数
- MFC中获取窗口句柄及相关函数
- 用WindowFromPoint()函数来获得鼠标所在位置的窗口的句柄--发生一个关闭窗口的消息---关闭鼠标所在的窗口
- 使用MoveWindow()函数来移动指定句柄的窗口在屏幕中的显示位置及这个窗口的大小
- Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-f
- 一个通过回车键调另一个数据窗口相关数据到主窗口的函数
- 窗口相关概念和对应关系
- MFC中获取窗口句柄及相关函数
- Qt5位置相关函数