【发布时间】:2011-08-23 02:17:16
【问题描述】:
我有两个 Windows 应用程序 (EXE)。我想这样做:
答:
void foo(int a)
{
MessageBox(a);
}
乙:
p = CreateProcess("A.exe");
CallFunction(p, "foo", 15);
这个“CallFunction”是怎么做到的?
【问题讨论】:
-
那么你希望进程 B 能够调用进程 A 中的函数吗?你熟悉
CreateRemoteThread吗?见msdn.microsoft.com/en-us/library/ms682437(VS.85).aspx -
@Gabe,如果您同时控制两个进程,则没有理由使用 CreateRemoteThread。
-
@bdonlan:是的,只有当 OP 无法以任何其他方式侦听 RPC 时才需要这样做。
-
您可能想在此处提供有关您的更高级别目标的更多信息。正如 bdonlan 在答案中指出的那样,有几种方法可以在 Windows 上做这样的事情;但哪个是“最好的”可能取决于您首先要做什么。