0

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

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

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

在实例化时,每个 COM dll 将检查它是否已被许可/激活。

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

我还没有找到一个聪明的方法来做到这一点。

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

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

感谢您的帮助!

4

2 回答 2

1

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

于 2013-05-28T14:21:21.900 回答
0

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

于 2013-05-28T08:12:36.600 回答