C ++将消息传递给另一个应用程序

时间:2013-05-28 07:23:23

标签: c++ shell dll com message

我喜欢10个独立运行的C ++应用程序(如“mydll1.dll”,mydll2.dll“)。 这些是单品,可以单独购买。 它们是其他应用程序可以使用的COM对象。

可以通过界面激活/许可它们。 我已将此接口放入单个应用程序(“licenseserver.exe”)。

我不想在每个COM dll中包含相同的许可接口,因为这将是冗余。

在实例化时,每个COM dll都会检查它是否已获得许可/激活。

如果不是,我想调出licenseserver.exe,告诉用户COM dll尚未激活,并为他提供激活它的选项。

我还没有找到一种聪明的方法。

我在考虑让COM服务器使用参数启动licenseserver.exe。

这是一种有效的方法,如果是的话,我该怎么做?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您可以考虑为licenseserver.exe应用程序注册URI方案,然后使用LaunchUriAsync来调用它并传递参数。

答案 1 :(得分:0)

一种选择是为许可证服务器和进程外COM服务器(licenseserver.exe)创建一个接口,以提供它的实现。当您的各个组件需要从用户请求许可信息时,您只需创建许可对象的实例。如果服务器尚未运行,这将导致COM子系统自动启动服务器。这样可以更好地控制呈现给用户的信息,因为您可以使用命令行参数创建更强大的界面。这还允许您以更流畅的方式请求许可信息并激活组件,而不是让它们执行多个步骤。