gpt4 book ai didi

c++ - 将外部应用程序与我的应用程序集成

转载 作者:太空狗 更新时间:2023-10-29 23:10:21 25 4
gpt4 key购买 nike

我有 2 个桌面应用程序,希望与外部应用程序集成。其中一个应用程序使用我开发的插件进行扩展,以提供并非所有发行版都通用的特定功能。这种情况可以用下图来描述:

alt text http://img32.imageshack.us/img32/8902/integration1.png

如前所述,我想将我的应用程序与外部应用程序或 SDK 集成(接收和发送数据)。通常有两种来自外部应用程序的数据:

  1. 通用/通用数据 - 始终相关
  2. 特定数据 - 应针对每个外部应用程序以不同方式处理

对于“核心应用程序”,下图描述了所需的情况:

alt text http://img32.imageshack.us/img32/3299/integration2.png

一般数据在Core Application中处理,具体数据在插件(支持插件)中处理。

此应用程序的分发可能是其中之一

  • 核心应用程序 + Yakko App + Yakko App Integrator + Yakko App Support Plugin
  • 核心应用程序 + Dot App + Dot App Integrator

对于其他应用程序,我想保留相同的“集成器”,但在应用程序内部以不同方式处理它们:

alt text http://img32.imageshack.us/img32/2088/integration3x.png

如我刚才所述,您建议如何在我的应用程序中实现集成外部应用程序和 SDKS 的支持?

注意事项:

  • 我在 Windows 上使用 C++,插件作为 DLL 分发。
  • 将使用的数据类型总是事先已知的,我只需要一些通用的方法将其从源移动到处理程序。

最佳答案

我同意评论者的观点,COM 似乎是一个不错的策略。您的支持 dll 在安装时会被注册,然后您的核心应用程序可以查找插件,例如:

hr = CLSIDFromProgID(L"Wakko.1.0", &clsid);  
hr = GetActiveObject(clsid, NULL, &punk);

或者
hr = CoCreateInstance(clsid, ..., ..., IID_IWAKKO, ...);

关于c++ - 将外部应用程序与我的应用程序集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/887163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com