我有两个Windows技术,我想将它们联系在一起:一个TSP(一个TAPI服务提供商)和一个围绕着某些硬件的API。 API同步接受请求,但通过向传递的HWND发送消息来异步返回成功/失败/状态结果。
据我了解,问题是由于TSP作为Windows服务运行,因此其执行上下文无法访问大多数交互式Windows功能。所以,就像我想直接将两者连接在一起一样,我不能 - 据我所知,TSP没有(且实际上不能)具有HWND用于发送消息的API。 :-(
对于像我这样的人,他一次只在服务/交互式线路的一侧编写Windows内容,所有这些都有点令人头疼。但是Windows就是这样,必定有几种合理的方法可以在这条线上传递消息吗?
你怎么建议我尝试连接这两件事?谢谢! :-)
答案 0 :(得分:1)
服务可以创建“消息窗口”(父窗口为HWND_MESSAGE的窗口)并运行消息泵。消息窗口没有UI,因此不与桌面交互。
答案 1 :(得分:0)
我建议使用MSMQ在两个不同的应用程序之间传递消息。我可能有点麻烦,但它会起作用。
答案 2 :(得分:0)
您的服务可以在Global
对象命名空间中创建命名文件映射对象,然后您的交互式程序可以打开该文件映射。然后,您可以通过共享内存进行通信。