从一个 c++ 程序中调用另一个程序中的方法(进程间通信)
Calling methods in one c++ program from another (Inter Process Communication)
我想从我的一个 c++ 程序调用另一个程序的方法。这些方法会有我会来回传递的对象。
完成此操作的最简单方法是什么?
这是相当复杂的来回数据。我考虑的一种可能方法是创建 Web 服务,但我希望有更简单的方法。也许用 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++ 程序调用另一个程序的方法。这些方法会有我会来回传递的对象。
完成此操作的最简单方法是什么?
这是相当复杂的来回数据。我考虑的一种可能方法是创建 Web 服务,但我希望有更简单的方法。也许用 COM 什么的?
这仅适用于 Windows。
既然你提到了 COM,我假设你在 windows 工作。
您可以使用SendMessage函数,并使用WM_COPYDATA消息。
这样使用:
COPYDATASTRUCT *cds = new COPYDATASTRUCT;
//init cds
...
SendMessage(hwnd_receiver, WM_COPYDATA, hwnd_sender, cds);
要获取其他应用程序的 hwnd,请使用 EnumWindows 和 GetModuleFileName。或者你可以使用不同的机制,这取决于你。