为什么接收不到自定义消息?(50分)

  • 主题发起人 主题发起人 WilliamGui
  • 开始时间 开始时间
W

WilliamGui

Unregistered / Unconfirmed
GUEST, unregistred user!
一个exe的MainForm打开几个form,并且其中有些还是dll中的form,且已传递Application.Handle,现在问题是,在dll的form如何接收到自定义消息。
postmessage需要指定handle,用什么Handle_BrordBreak什么的无效,
Application.Components循环,没有dll的form指针,
难道要我给dll写个接口获得指针吗?
大家互相讨论,互相学习。
 
有1个办法不知行不行:
通过FindWindow方法查询接受消息的窗口的HANDLE在发,前提是接受消息的窗口已经被创建
 
哪道我要一个个查HANDLE吗?
我查了一下资料,用RegisterWindowMessage注册一个消息,就可以收到,不过DLL的窗口怎么知道消息编号?
现在我写了一个接口,作用更大。
大家再讨论讨论,下周三结分
 
还是找handel 方便一点把
 
(1)、把消息设置成广播形式,所有的窗口就都能收到了,这样最简单。
(2)、在DLL中用openFileMapping 、createFileMapping、 mapViewOfFile一系列函数将handle值存入。在MainForm中用同样的方法读取handle后postMessage,这样最严谨。
 
后退
顶部