Win32API笔记一
来源:互联网 发布:大数据时代英文翻译 编辑:程序博客网 时间:2024/05/14 21:14
/********************************************
* Form API
********************************************/
// 1.
// The EnumWindows function does not enumerate child windows.
//
// 此函数用于枚举窗口,把枚举到的窗口句柄传进回调函数,需要注意的是此函数并不枚举子窗口
//
BOOL EnumWindows(WNDENUMPROC lpEnumFunc,LPARAM lParam)
/*参数:
lpEnumFunc:指向一个应用程序定义的回调函数指针,请参看EnumWindowsProc。
lPararm:指定一个传递给回调函数的应用程序定义值。 */
//回调函数原型
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam);
/*参数:
hwnd:顶层窗口的句柄
lparam:应用程序定义的一个值(即EnumWindows中lParam) */
//
// 2.
// 该函数获得有关指定窗口的信息,函数也获得在额外窗口内存中指定偏移位地址的32位度整型值。
//
LONG GetWindowLong(HWND hWnd,int nlndex)
/*
nlndex:指定要检索的基于0的偏移量。有效值的范围从0到窗口额外内存空间的字节数,减去4。
例如,若指定了12位或多于12位的窗体类的额外存储空间,则应设为第三个32位整数的索引位8(12- 4=8)。
要获得任意其他值,指定下列值之一:
GWL_EXSTYLE= (-20) 扩展窗口样式
GWL_STYLE=(-16) 窗口样式
GWL_WNDPROC= (-4) 该窗口的窗口函数的地址
GWL_HINSTANCE= (-6) 拥有窗口的实例的句柄
GWL_HWNDPARENT= (-8) 该窗口之父的句柄。不要用SetWindowWord来改变这个值
GWL_ID= (-12) 对话框中一个子窗口的标识符
GWL_USERDATA = (-21) 含义由应用程序规定
DWL_DLGPROC = 4 这个窗口的对话框函数地址
DWL_MSGRESULT = 0 在对话框函数中处理的一条消息返回的值
DWL_USER = 8 含义由应用程序规定 */
//
// 3.
// 向指定的窗口发送指定的消息
//
LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam)
/*
hWnd:窗口句柄
Msg:指定被发送的消息。
wParam:指定附加的消息指定信息。
IParam:指定附加的消息指定信息。
//
// 4.
// 该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出
//
BOOL GetWindowRect(HWND hWnd,LPRECT lpRect)
/*
hWnd:窗口句柄
lpRect:指向一个RECT结构的指针,该结构接收窗口的左上角和右下角的屏幕坐标。
*/
//
// 5.
// 该函数获得包含指定点的窗口的句柄
//
HWND WindowFromPoint(POINT Point)
/*
Point
eg.
POINT point;
point.x = rcWindow.left;
point.y = rcWindow.top;
HWND hWnd = WindowFromPoint(point);
上述代码可以获取包含point点的控件的句柄
*/
//
// 6.
// 返回当前focus的窗口 的句柄
//
HWND GetForegroundWindow(VOID)
/*
可以用来判断当前窗口是否是我们需要的窗口等等
*/
//
// 7.
// 该函数获得一个顶层窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数不查找子窗口。在查找时不区分大小写。
//
HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName)
/*
参数:
IpClassName:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。
如果该参数为一个成员,则它必须为前次调用theGlobafAddAtom函数产生的全局成员。
该成员为16位,必须位于IpClassName的低 16位,高位必须为 0。
IpWindowName:指向一个指定了窗口名(窗口标题)的空结束字符串。如果该参数为空,则为所有窗口全匹配。
返回值:如果函数成功,返回值为具有指定类名和窗口名的窗口句柄;如果函数失败,返回值为NULL。
eg.
HWND hWnd = FindWindow(NULL,_T("扫雷"));
//这样就用窗口标题获取到窗口的句柄
*/
//
// 8.
// 该函数获得一个窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数查找子窗口,从排在给定的子窗口后面的下一个子窗口开始。在查找时不区分大小写。
//
HWND FindWindowEx(HWND hwndParent,HWND hwndChildAfter,LPCTSTR lpszClass,LPCTSTR lpszWindow)
/*
参数;
hwndParent:要查找子窗口的父窗口句柄。
如果hwnjParent为NULL,则函数以桌面窗口为父窗口,查找桌面窗口的所有子窗口。
Windows NT5.0 and later:
如果hwndParent是HWND_MESSAGE,函数仅查找所有消息窗口。
hwndChildAfter:子窗口句柄。查找从在Z序中的下一个子窗口开始。
子窗口必须为hwndPareRt窗口的直接子窗口而非后代窗口。
如果HwndChildAfter为NULL,查找从hwndParent的第一个子窗口开始。
如果hwndParent 和 hwndChildAfter同时为NULL,则函数查找所有的顶层窗口及消息窗口。
lpszClass:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。
如果该参数为一个成员,则它必须为前次调用theGlobaIAddAtom函数产生的全局成员。
该成员为16位,必须位于lpClassName的低16位,高位必须为0。
lpszWindow:指向一个指定了窗口名(窗口标题)的空结束字符串。
如果该参数为NULL,则为所有窗口全匹配。
返回值:如果函数成功,返回值为具有指定类名和窗口名的窗口句柄。如果函数失败,返回值为NULL。
*/
- Win32API笔记一
- Win32API学习笔记第五章(一)
- Win32API学习笔记第六章(一)
- Win32API学习笔记第七章(一)
- Win32API学习笔记第一章
- Win32API多线程程序设计学习笔记
- Win32API学习笔记第二章
- Win32API学习笔记第三章
- Win32API学习笔记第四章
- Win32API学习笔记第八章
- Win32API
- Win32API学习笔记第五章(二)
- Win32API学习笔记第五章(三)
- Win32API学习笔记第六章(二)
- Win32API学习笔记第六章(三)
- Win32API学习笔记第六章(四)
- Win32API学习笔记第七章(二)
- Win32API学习笔记第七章(三)
- 重磅新星再现《天下贰》 与你共创3D大场面
- 二代身份证读取操作类
- 数据集DataSet 转入Excel
- 数据集DataSet 转入Excel
- 数据集DataSet 转入Excel
- Win32API笔记一
- 数据集DataSet 转入Excel
- 二版模拟器设置程序关闭显示错误代码
- 从 cygwin.com 安装 GNU gcc 编译器、g++ 编译器
- 快毕业了~找不到工作、、、
- 浅谈宏定义中“#”,“##”和“...”的使用
- pku 3017 单调队列优化DP
- 一些有用的安全工具和链接
- iPhone开发Blog