tft每日頭條

 > 圖文

 > windows怎麼往串口發消息

windows怎麼往串口發消息

圖文 更新时间:2024-09-29 07:36:33

地球人都知道,發送Windows消息可以使用SendMessage這個函數,但是你可知道,實際上SendMessage有好幾個變種,今天我們來具體羅列羅列。

最簡單的一個版本就是它自己啦:SendMessage。這個函數用來向一個目标窗口發送一條消息,然後一直等待目标窗口對此消息的回應。

接下來是SendMessageTimeout。它會發送一條消息,然後等待回應直至一段指定的時間過去。聰明的你可能立馬就感悟到了:SendMessage隻是一個特殊形式的SendMessageTimeout,隻是它的超時時間是無限時間而異。

下一個版本是: SendNotifyMessage。這個函數有點像SendMessage,隻是它發送消息之後,不會等待任何回應。它将立即返回并忽略掉接收窗口返回的任何回應。

最後一個版本是SendMessageCallback。它發送了一條消息之後會立即返回,而當接收窗口返回一個回應的時候,一個預先設定的回調函數會被調用。

聰明的你可能會再一次感悟到:SendNotifyMessage隻是SendMessageCallback的一個特例,隻是它的回調函數不會做任何事情。

至此,我們列舉了SendMessage的四個不同版本。

還需要注意

如果你使用到了上面所說的任何一個發送消息的函數,并将消息發送給當前發送線程所屬的窗口,則調用會是同步進行的。

總結

還依稀記得,我畢業後參加的第一場招聘會,一位老者就曾問我SendMessage和PostMessage的區别。對于不需要等待回應的消息,可以認為這條消息是一條通知,我一般使用PostMessage。而如果某條消息需要等待它的回應,我就簡答地使用SendMessage。

在拓撲梅爾智慧辦公平台(Topomel Box)的開發工程中,我一直遵循這個簡單的原則,它有效地簡化程序的設計和編寫。也就是說:要麼使用PostMessage,要麼就SendMessage。

最後

Raymond Chen的《The Old New Thing》是我非常喜歡的博客之一,裡面有很多關于Windows的小知識,對于廣大Windows平台開發者來說,确實十分有幫助。本文來自:《The various ways of sending a message》

windows怎麼往串口發消息(發送Windows消息的幾種方法)1

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved