随笔 - 94  文章 - 0 评论 - 15 阅读 - 13万
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

一般,都是通过添加一个ApplicationEvent组件就可以接收到PostMessage发来的消息,那么如何收到SendMessage发来的消息呢?

https://stackoverflow.com/questions/49862883/sendmessage-to-application-handle-not-working

Application有一个Application->HookMainWindow方法

它的参数是这样的事件函数

bool __fastcall CLASSNAME::AppHookMainWindow(Messages::TMessage &Message)

可以在Create事件中将AppHookMainWindow注册到HookMainWindow方法中

如下

Application->HookMainWindow(AppHookMainWindow);

 

就可以接收SendMessage发来的消息了。

 

需要注意的是AppHookMainWindow 的返回值,如果你查BCB的帮助 ,它会这么说

 

the window hook should return true if it processes the message, and false if it does not。

 

如果你对消息有处理,就返回true,否则返回false,所以你只需要对自定义消息进行处理,然后返回true,其他一律返回false。

 

posted on   zooz  阅读(410)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· 程序员常用高效实用工具推荐,办公效率提升利器!
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 【译】WinForms:分析一下(我用 Visual Basic 写的)
历史上的今天:
2016-05-23 SQL SERVER 2008 字段值合并
点击右上角即可分享
微信分享提示