将指定的消息发送到窗口或窗口。该SendMessage函数的函数调用指定的窗口的窗口过程,并不会返回,直到窗口过程已经处理了该消息。
要发送消息并立即返回,请使用SendMessageCallback或SendNotifyMessage函数。要将消息发布到线程的消息队列并立即返回,请使用PostMessage或PostThreadMessage函数。

LRESULT WINAPI SendMessage(_In_ HWND hWnd,_In_ UINT Msg,_In_ WPARAM wParam,_In_ LPARAM lParam
);
参数
hWnd [in]
类型:HWND
窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST((HWND)0xffff),则会将消息发送到系统中的所有顶级窗口,包括禁用或不可见的未知窗口,重叠窗口和弹出窗口; 但消息不发送到子窗口。
邮件发送受UIPI约束。进程的线程可以将消息发送到较小或相同完整性级别的进程中的线程的消息队列。
msg [中]
类型:UINT
要发送的消息。
wParam [in]
类型:WPARAM
附加消息特定信息。
lParam [in]
类型:LPARAM
附加消息特定信息。

返回值
类型:LRESULT
返回值指定消息处理的结果; 这取决于发送的消息。

备注
当UIPI阻止消息时,使用GetLastError检索的最后一个错误设置为5(访问被拒绝)。
需要使用HWND_BROADCAST进行通信的应用程序应使用RegisterWindowMessage函数来获取应用程序间通信的唯一消息。
系统只对系统消息进行编组(范围为0到(WM_USER -1))。要发送其他消息(那些> = WM_USER)到另一个进程,你必须做自定义编组。
如果指定的窗口是由调用线程创建的,则窗口过程将立即作为子例程调用。如果指定的窗口是由不同的线程创建的,则系统切换到该线程并调用相应的窗口过程。线程之间发送的消息只有在接收线程执行消息检索代码时才被处理。发送线程被阻塞,直到接收线程处理消息。然而,发送线程将在等待其消息被处理的同时处理传入的非排队消息。为了防止这种情况,请使用设置了SMTO_BLOCK的SendMessageTimeout。
可访问性应用程序可以使用SendMessage将WM_APPCOMMAND消息发送到shell以启动应用程序。此功能不能保证适用于其他类型的应用程序。

SendMessage相关推荐

  1. Android Handler sendMessage和 sendMessageDelayed的使用

    sendMessage :立即发送消息 sendMessageDelayed:指定多少毫秒后发送消息. 其实常用的还有2个 sendEmptyMessage 发送空消息,  一般自己想把某种操作放到子 ...

  2. C#用 SendKyes 结合 Process 或 API FindWindow、SendMessage(PostMessage) 等控制外部程序

    Win32 平台是 消息驱动模式 .Net 框架是 事件驱动模式 标题所指的 "控制外部程序",外部程序是指与本程序无内在相关性的另外一个程序 基于上面提到的,对于.NET的win ...

  3. Unity3d中SendMessage 用法

    Message相关有3条指令: SendMessage ("函数名",参数,SendMessageOptions) //GameObject自身的Script BroadcastM ...

  4. postmessage and sendmessage

    从msdn上看二者的解释: postmessage : Places (posts) a message in the message queue associated with the thread ...

  5. 在C#中SendMessage和PostMessage的参数传递

    用 PostMessage.SendNotifyMessage.SendMessageCallback 等异步函数发送系统消息时,参数里不可以使用指针,因为发送者并不等待消息的处理就返回,接受者还没处 ...

  6. C#中使用 SendMessage 向非顶端窗体发送组合键

    开门见山,不废话了, 直接举例说明一下: 比如发送ALT + F 以下是 用spy++截取的消息内容 <00001> 000310DC P WM_SYSKEYDOWN nVirtKey:V ...

  7. SendMessage 和 PostMessage

    Win32 API消息函数:SendMessage 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程 序处理完消息再返回.而函数PostMessage不同, ...

  8. PostMessage()和SendMessage()

    使用PostMessage发送消息仅把消息挂到系统消息循环队列就返回, 而使用SendMessage函数要等到该消息处理完才返回. 在使用wParam或lParam参数传递数据或指针时必须使用Send ...

  9. My First Window构造过程,SendMessage同步,PostMessage异步

    文章目录 第一步:定义你的窗口是什么样的?(创建,初始化,注册窗口类) 第二步:创建并显示窗口 第三步:接收消息并处理(处理的话也就是完成回调函数初始化) 举例: 默认的消息处理函数: SendMes ...

  10. SendMessage CString

    SendMessage CString 发送 CString strHello = "Hello!"; ::SendMessage(this->m_hWnd,WM_1,1,* ...

最新文章

  1. mysql基础之视图
  2. TensorFlow 2.0发布在即,高级API变化抢先看
  3. mysql 运算符 =,:=,@,@@的含义
  4. 一篇深入剖析PCA的好文
  5. Python类继承简单实现
  6. Java 包(package)
  7. WPF Tile=” 变量 UI 双向绑定”x:Class=Problem/
  8. java多个事件_window.onload绑定多个事件的两种解决方案
  9. ToLookup 和 GroupBy 到底有什么不同?
  10. P1160-队列安排【链表】
  11. 对A1A2A10B1B2N12排序
  12. python中字典的find_python中的字典
  13. 管理学基础 形成性考核一
  14. 【洛谷1985】【USACO07OPEN】翻转棋
  15. 刷脸支付将替代传统的聚合收款二维码
  16. 版式设计——网页排版
  17. 新年贺卡php,PS设计2016猴年大吉新年贺卡
  18. 一文了解 TKG 如何使用 GPU 资源池
  19. android 版本号 7.0 O,微信全面上线64位7.0.9版本:运行速度更快,你更新了吗?(附下载)...
  20. 后BT时代,我们该怎么办?

热门文章

  1. 346个基因组可视化工具一网打进!
  2. macOS Monterey值得升级吗?Monterey 与 Big Sur的对比
  3. 量子通信入门相关书籍
  4. 【C#桌面应用】第五节:制作简单的登录注册模拟窗口-注册部分的模拟
  5. ij运行tomcat_如何把本地Web项目部署到云服务器上
  6. php object 对象不存在。增加对象_深度好文:PHP写时拷贝与垃圾回收机制
  7. python内置方法怎么使用_python中的常用内置方法
  8. 基于SSM的员工管理系统设计(含源文件)
  9. matlab fftshift_MATLAB信号频谱分析FFT详解
  10. Java笔记-获取当前时间及对当前时间进行加减及时间对比