BCB 如何让Application收到SendMessage发送来的消息

Posted Energy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BCB 如何让Application收到SendMessage发送来的消息相关的知识,希望对你有一定的参考价值。

一般,都是通过添加一个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。

 

以上是关于BCB 如何让Application收到SendMessage发送来的消息的主要内容,如果未能解决你的问题,请参考以下文章

C Builderr中如何利用消息

关于如何在BCB中使用CodeGuard

bcb 如何在DLL中捕捉系统级异常

如何使用 tlibimp 在 BCB5 中导入 ActiveX 控件?

如何调试用bcb编译出来的dll

如何在BCB 6里完成这样的数据库操作?