0

我有两个我想一起研究的 Windows 技术:一个 TSP(一个 TAPI 服务提供者)和一个围绕一些硬件的 API。API 同步接受请求,但通过向传递下来的 HWND 发送消息异步返回成功/失败/状态结果。

据我了解,问题在于,由于 TSP 作为 Windows 服务运行,其执行上下文无法访问大多数交互式 Windows 功能。因此,尽管我很想将两者直接链接在一起,但我不能——据我所知,TSP 没有(而且确实不能)有一个 HWND 供 API 发送消息。:-(

对于像我这样一次只在服务/交互线的一侧编写过 Windows 东西的人来说,所有这些都让人头疼。但是 Windows 就是这样,肯定有几种明智的方法可以通过这条线获取消息,不是吗?

您如何建议我尝试将这两件事联系起来?谢谢!:-)

4

3 回答 3

1

服务可以创建“消息窗口”(父窗口为 HWND_MESSAGE)并运行消息泵。消息窗口没有 UI,因此不与桌面交互。

于 2010-10-07T21:47:51.340 回答
0

您的服务可以在对象命名空间中创建一个命名文件映射对象Global,然后您的交互式程序可以打开该文件映射。然后,您可以通过共享内存进行通信。

于 2010-11-08T19:19:40.513 回答
0

我建议使用 MSMQ 在两个不同的应用程序之间传递消息。我可能有点麻烦,但它会工作。

于 2010-10-07T21:08:14.423 回答