Delphi - 如何向TDataModule发送Windows消息?

Cha*_*iga 6 delphi windows-messages datamodule

我需要在我的Delphi 2010应用程序中向一个TDataModule发送一条Windows消息.

我想用

PostMessage(???.Handle, UM_LOG_ON_OFF, 0,0);
Run Code Online (Sandbox Code Playgroud)

题:

TDataModule没有Handle.我如何向它发送Windows消息?

Mas*_*ler 9

你可以轻松地给它一个手柄.看一下AllocateHWNDClasses单元.调用此方法为数据模块创建句柄,并定义一个处理UM_LOG_ON_OFF的简单消息处理程序.

  • 请注意,不推荐使用Forms单元的AllocateHWND.请使用Classes中提供的那个.是的,AllocateHWND创建了一个隐藏窗口,但在Windows API意义上,不是Delphi TForm意义上的:这个窗口是一个API句柄,用于接收GDI消息. (4认同)