SendMessage小译下。。。

来源:互联网 发布:淘宝管控记录异常订单 编辑:程序博客网 时间:2024/04/30 10:15
  1. /*
  2.     说明:
  3.     此函数用于将指定的消息发送给一个或多个窗口,
  4.     它会调用相应窗口的窗口过程来处理其发送的消息,
  5.     等到处理完成之后其才会返回。
  6.     如果想发送消息后立即返回,可以使用SendMessageCallback
  7.     或者SendNotifyMessage。
  8.     如果想将一个消息投掷到接收线程的消息队列中并立即返回,
  9.     可以使用PostMessage或PostThreadMessage。
  10.     返回值:
  11.     返回值反映了消息处理的结果,它也依赖于发送的消息。
  12.     注意:
  13.     应用程序间想通过HWND_BROADCAST的方式进行通信时,
  14.     需要通过方法RegisterWindowMessage来获取一个在系统
  15.     中唯一的消息,因为应用程序间需要系统内唯一的消息进行通信。
  16.     系统只负责调度系统消息,即从0到WM_USER之间的消息。
  17.     对于此范围外的消息,我们需要自己处理。
  18.     如果接收消息的窗口属于发送消息的线程,那么窗口过程
  19.     就会以子过程的方式被立即调用;如果接收消息的窗口属于其它
  20.     的线程,系统首先会切换到接收消息的线程,然后再调用相应
  21.     的窗口过程。
  22.     只有当接收消息的线程执行了消息的检索码之后,线程间的消息
  23.     才会被处理。在消息被处理之前,发送消息的线程会一直处于阻塞状态。
  24.     然而在发送消息的线程等待发送的消息被处理的过程中,它会处理那些
  25.     不是来自消息队列的消息,如果想阻止这种行为,可以使用函数
  26.     SendMessageTimeOut,第四个参数设置为SMTO_BLOCK。
  27. */
  28. LRESULT SendMessage(
  29.                     HWND hWnd,          //接收消息的窗口句柄。
  30.                                         //如果设置为HWND_BROADCAST,那么消息会被发送到
  31.                                         //系统中所有顶层的窗口,包括非激活的,非自己的不可见窗口,
  32.                                         //重叠窗口及弹出窗口。注意,消息不会被发送到子窗口,
  33.                                         //只能是顶层窗口。
  34.                     UINT Msg,
  35.                     WPARAM wParam,
  36.                     LPARAM lParam
  37.                     );
原创粉丝点击