c++ - 从一个 C++ 程序中调用另一个程序中的方法(进程间通信)

标签 c++ c++-cli

我想从我的一个 C++ 程序中调用另一个程序中的方法。这些方法将具有我将来回传递的对象。

实现这一目标的最简单方法是什么?

这是相当复杂的来回数据。我想到的一种可能的方法是创建一个网络服务,但我希望能有更简单的方法。也许使用 COM 或者其他什么?

这仅适用于 Windows。

最佳答案

既然你提到了 COM,我就假设你在 Windows 中工作。

您可以使用SendMessage函数,并使用WM_COPYDATA消息。

像这样使用它:

COPYDATASTRUCT *cds = new COPYDATASTRUCT;

//init cds
...

SendMessage(hwnd_receiver, WM_COPYDATA, hwnd_sender, cds);

要获取其他应用程序的 hwnd,请使用 EnumWindows 和 GetModuleFileName。或者您可以使用不同的机制,这取决于您。

关于c++ - 从一个 C++ 程序中调用另一个程序中的方法(进程间通信),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28640642/

相关文章:

c++ - 对大数组求和时出现错误结果

c++ - 带有现有 C/C++ 项目的 Eclipse CDT

c++ - 如何在编译时检查编译器是否支持 C++11 override 关键字?

.net - 如何集成/混合托管和非托管代码

c++ - 为什么在 C++/CLI 中,限定的、前向声明的 native 类名称解析为不同的托管类名称?

c++ - dynamic_cast 在另一条链上的行为

c++ - 我将用户输入的字符串存储在一个 vector 中,但是当我计算出存储的消息时,什么也没有显示。我做错了什么?

c++-cli - 转换 native 字节...?

c++ - 在 .cpp 文件中包含头文件时基类未定义

使用 shared_ptr 作为参数时的 C++/CLI "could not import member"警告