【问题标题】:C++ Passing a message to another applicationC++ 将消息传递给另一个应用程序
【发布时间】:2013-05-28 07:23:22
【问题描述】:

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

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

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

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

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

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

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

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

感谢您的帮助!

【问题讨论】:

    标签: c++ shell dll com message


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多