糖炒栗子

cheap to talk,show muscle would be better...

导航

与窗体及消息有关的API


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不提供单个窗口超时信息。

posted on 2011-11-30 16:57  糖炒栗子  阅读(540)  评论(0编辑  收藏  举报