如何从C#应用程序远程调用另一个进程方法

时间:2013-11-15 10:36:44

标签: c# methods process call

我有一个C#应用程序,我想从我的app调用一个函数名称,例如SendChatMessage(string message,int userid)。但是这个函数属于我计算机上另一个运行的基于客户端/服务器的应用程序。我找不到如何做到这一点的方式。

我尝试使用Reflection库进行此操作但失败了。希望有人帮助我。

感谢您的帮助。

2 个答案:

答案 0 :(得分:15)

欢迎来到Inter-process communication的世界。有很多方法可以做到这一点,比如命名管道,RPC,共享内存等等。

简而言之,您的程序正在进程中运行。另一个程序在另一个进程中运行。这就像你父亲试图向隔壁男孩询问一些东西。这些进程可以相互通信并调用彼此的方法,或者使用彼此的数据。但不是随意或过程。他们需要一些共同的沟通标准。

看看这些问题:

What is the simplest method of inter-process communication between 2 C# processes?

What is the best choice for .NET inter-process communication?

What is the easiest way to do inter process communication in C#?

答案 1 :(得分:1)

如果您无法控制目标进程中的代码,那么听起来您需要使用DLL注入方法将代码注入其中。

如果呼叫过程不需要确认或响应;然后注入执行方法调用代码的代码可能会浮出水面,但如果需要响应,则可能需要在注入的代码中实现某种形式的进程间通信。