我们正在尝试开发一个将消息发送到服务的应用程序,但我们只在两个应用程序之间发送消息.我们正在开发Delphi 7,Windows XP.
我们需要服务向应用程序发回消息,具体取决于应用程序发送给服务的操作的结果.
好吧,有些人说不可能从应用程序向服务发送消息.因此,我们决定提供两项服务,现在我们必须将消息从一个服务发送到另一个服务.现在,重点是:如何将消息从服务发送到另一个服务?
您无法将窗口消息发送到服务.首先,服务没有自己的UI,更不用说Windows了.其次,即使您将自己的隐藏窗口添加到服务中(实际上,基于Delphi的服务确实具有隐藏的TApplication窗口),也不允许窗口消息通过会话边界(服务在与用户模式不同的会话中运行)应用程序).
有许多IPC(进程间通信)机制与服务一起工作 - 命名管道,邮件槽,TCP/IP和UDP套接字,仅举几例.您将不得不使用其中一个.
我建议命名管道.SO上的某个人已经在Delphi中提供了一个很好的例子(这个网站上也有其他例子)