2013-11-15 8 views
5

私はC#アプリケーションを持っています。私のapp.ButでSendChatMessage(文字列メッセージ、intユーザID)のような関数名を呼び出したいのですが、この関数はクライアント/私のコンピュータ上のアプリケーション。私はこれをどうやってできるのか見つけられなかった。C#アプリケーションから別のプロセスメソッドを呼び出す方法

これをReflectionライブラリで作成しようとしましたが、失敗しました。誰かが私にこのことを助けて欲しい。

ありがとうございました。

+3

他のプログラムのソースコードを制御しているのですか、またはコマンドをプロセスに注入しますか?次に、他のアプリケーションよりも "制御"を取るために、DLL注入を使わなければならないかもしれません。 – NoLifeKing

+0

他のアプリを所有していますか?他のアプリケーションがメソッドを呼び出せるように設計されていますか? – Rob

+1

[c#を使用して別のプロセスから関数を呼び出す]の複製が可能(http://stackoverflow.com/questions/15767482/using-c-sharp-to-call-a-function-from-another-process) –

答えて

12

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

ありがとう、私は他のプロセスプログラムのコードを持っている場合は、この答えは正しく答えていただきありがとうございます。しかし、私は他のプログラムのソースコードを制御できません。 –

0

、それはあなたがする必要があるように聞こえますDLLを注入する手段を使用してコードを注入します。

呼び出しプロセスに肯定応答または応答が必要ない場合。メソッド呼び出しコードを実行するコードを記述することができますが、応答が必要な場合は、コード内にプロセス間通信の何らかの形式を実装する必要があります。

関連する問題