我正在创建一个具有以下特征的应用程序:
- 一个基于对话框的 GUI,它使用 dll 的 n 个实例(让我们调用它
mainLib
)。 - 该
mainLib
dll 使用另一个 dll(让我们调用它commManager
)来管理与另一个应用程序的 TCP 通信。
我的问题是如何commManager
通知mainLib
它收到的某些消息。
我想类似的东西PostThreadMessage()
可能是解决方案,但我如何在 dll 中实现它?
据推测, commManager 在它自己的线程上运行。mainLib 需要创建一个消息队列,如此处所述。当 mainLib 创建 commManager 时,它必须将其线程 ID 传递给它。
如果你想阻塞,另一种选择是使用回调。让 mainLib 向 commManager 传递一个函数指针。