EnumChildWindows:
函数功能:枚举一个父窗口的所有子窗口。
函数原型:
BOOL EnumChildWindows(HWND hWndParent,WNDENUMPROC lpEnumFunc, LPARAM lParam);
各个参数如下:
HWND hWndParent 父窗口句柄
WNDENUMPROC lpEnumFunc 回调函数的地址
LPARAM lParam 自定义的参数
注意:回调函数的返回值将会影响到这个API函数的行为。如果回调函数返回true,则枚举继续直到枚举完成;如果返回false,则将会中止枚举。
ClientToScreen:
这个函数的功能:该函数将指定点,或者矩形的用户坐标转换成屏幕坐标。
函数原型:BOOL ClientToScreen(HWND hWnd,LPPOINT lpPoint);
参数:
hWnd :用户区域用于转换的窗口句柄。
lpPoint:指向一个含有要转换的用户坐标的结构的指针,如果函数调用成功,新屏幕坐标复制到此结构。
返回值:如果函数调用成功,返回值为非零值,否则为零。
注释:函数用屏幕坐标取代POINT结构中的用户坐标,屏幕坐标与屏幕左上角相关联
ScreenToClient:
函数功能:该函数把屏幕上指定点的屏幕坐标转换成用户坐标。
函数原型:BOOL ScreenToClient(HWND hWnd, LPPOINT lpPoint);
BOOL ScreenToClient(
HWNDhWnd, // handle to window
LPPOINTlpPoint// screen coordinates
);
如果函数调用成功,返回值为非零值,否则为零。
SendMessageTimeout:
该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,并且,如果指定的窗口属于不同的线程,直到窗口程序处理完消息或指定的超时周期结束函数才返回。如果接收消息的窗口和当前线程属于同一个队列,窗口程序立即调用,超时值无用。
函数原型:LRESULT SendMessageTimeout(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM IParam,UINT fuFlags,UIUT uTimeout,LPDWORD lpdwResultult);
Msg:指定被发送的消息。
wParam:指定附加的消息指定信息。
IParam:指定附加的消息指定信息。
fuFlags;指定如何发送消息。此参数可为下列值的组合:
SMTO_ABORTIFHUNG:如果接收进程处于“hung”状态,不等待超时周期结束就返回。
SMTO_BLOCK:阻止调用线程处理其他任何请求,直到函数返回。
SMTO_NORMAL:调用线程等待函数返回时,不被阻止处理其他请求。
SMTO_NOTIMEOUTIFNOTHUNG:Windows 95及更高版本:如果接收线程没被挂起,当超时周期结束时不返回。
uTimeout:为超时周期指定以毫秒为单位的持续时间。如果该消息是一个广播消息,每个窗口可使用全超时周期。例如,如果指定5秒的超时周期,有3个顶层窗回未能处理消息,可以有最多15秒的延迟。
IpdwResult:指定消息处理的结果,依赖于所发送的消息。
返回值:如果函数调用成功,返回非零值。如果函数调用失败,或超时,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。如果GetLastError返回零,表明函数超时。如果使用HWND_BROADCAST,SenddMessaggTimeout不提供单个窗口超时信息。