在Windows上从另一进程调用函数

在Windows上从另一进程调用函数,windows,winapi,process,Windows,Winapi,Process,我有两个Windows应用程序(EXE)。我想这样做: A: B: 这个“调用函数”是如何实现的?您需要使用IPC(进程间通信)方法。这有很多选项,包括和。所以您希望进程B能够调用进程a中的函数?您是否熟悉CreateRemoteThread?请参见@Gabe,如果您同时控制两个进程,则没有理由使用CreateRemoteThread。@bdonlan:是的,只有当OP无法以任何其他方式侦听RPC时,才有必要这样做。您可能希望提供有关您的更高级别目标的更多信息。正如bdonlan在回答中指出的那

我有两个Windows应用程序(EXE)。我想这样做:

A:

B:


这个“调用函数”是如何实现的?

您需要使用IPC(进程间通信)方法。这有很多选项,包括和。

所以您希望进程B能够调用进程a中的函数?您是否熟悉
CreateRemoteThread
?请参见@Gabe,如果您同时控制两个进程,则没有理由使用CreateRemoteThread。@bdonlan:是的,只有当OP无法以任何其他方式侦听RPC时,才有必要这样做。您可能希望提供有关您的更高级别目标的更多信息。正如bdonlan在回答中指出的那样,在windows上有几种方法可以做到这一点;但是,哪一个是“最好的”可能取决于您首先要做的事情。谢谢,使用Windows消息是一个可靠的解决方案。
void foo(int a)
{
    MessageBox(a);
}
p = CreateProcess("A.exe");
CallFunction(p, "foo", 15);