我想从我的一个 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/