另类理解SendMessage和PostMessage

简介: class procedure TFWaitForm.Execute(const AMsg: string);begin01.  with TFWaitForm.Create(Application) do  begin02    aniMain.
class procedure TFWaitForm.Execute(const AMsg: string);
begin
01.  with TFWaitForm.Create(Application) do
  begin
02    aniMain.Active := true;
03    PostMessage(Handle, WM_CLOSE, 0, 0);
04    Msg := AMsg;
05    Show;
06    SendMessage(Handle, WM_KEYDOWN, 13, 0);
07    Refresh;
  end;
end;

另类解释下这段代码

有一次,银行内部正在忙着执行某个上级下达的命令(01.程序开始执行),取钱窗口是关闭的,有个老百姓来取钱(03.PostMessage发送过来的WM_CLOSE消息),就自觉地排队等待着。慢慢地等待着。后来来了一个当官的有钱人(06.SendMessage发送过来的WM_KEYDOWN消息),银行看到来了贵宾,马上叫到,来来来,我马上帮你办理,这样当官的就插到第一个,银行开窗帮他办理后,当官的走了,然后,对着老百姓说,你们继承等着,还没有忙完。等到全部忙完(07程序执行完毕...如果只是个子过程,还要等父过程执行完毕),然后再给老百姓一个个的办理。
这就是为什么SendMessage可以马上拿到结果,而PostMessage不能拿到及时的结果的原因。

呵呵!
目录
相关文章
|
消息中间件 安全 API
C#实现操作Windows窗口句柄:SendMessage/PostMessage发送系统消息、事件和数据【窗口句柄总结之二】
SendMessage/PostMessage API 可以实现发送系统消息,这些消息可以定义为常见的鼠标或键盘事件、数据的发送等各种系统操作......
3696 1
C#实现操作Windows窗口句柄:SendMessage/PostMessage发送系统消息、事件和数据【窗口句柄总结之二】
|
5月前
|
API
27 QT -消息机制与事件总结
27 QT -消息机制与事件总结
36 0
|
消息中间件 存储 项目管理
handler+message【消息机制】
handler+message【消息机制】
136 0
handler+message【消息机制】
|
消息中间件 C++ UED
VC++ SendMessage和PostMessage使用总结
VC++ SendMessage和PostMessage使用总结
389 0
|
API
VB postmessage发送后台Tab
键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作。但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用程序来代替人们按键的方法,这样可以把很多重复性的键盘操作交给程序来模拟,省了很多精力,按键精灵就是这样的一个软件。
939 0
|
存储 Java
Handler进击之探索sendMessage的奇妙
Handler进阶之sendMessage  本文主要进一步的探索Handler,主要介绍下Handler是如何发送消息的?  用过Handler的想必对一下几个方法都不会陌生: sendMessage(Message msg);//立刻发送消息 s...
1061 0