問題タブ [interprocess]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
com - COM オブジェクトを介して通信することは可能ですか?
2 つの exe がCOM (ActiveX?) インターフェイスを介して通信することは可能ですか? COM DLL は 2 つの別々のプロセス間でデータ共有を調整できますか?
c++ - 管理された共有メモリ セグメントで同期メカニズムを作成するにはどうすればよいですか?
2 つのプロセスが stl コンテナーを介して通信するようにしようとしているので、マネージド共有メモリを使用することにしました。それらの間の同期を実装しようとしています-scoped_lockで開始するためのinterprocess_mutex-しかし、あまり運がありません。それはどのように行われるべきですか?
.net - 別の任意のアプリケーションで.NETオブジェクトのメソッドを呼び出す
私は主に怠惰な好奇心から尋ねています。
TestCompleteを使用しているときに、スクリプトを実行中の任意の.NETアプリケーションに向け、コントロールを取得し、それを反映し、さらにはそのアプリケーションのメソッドを呼び出すことができることに気付きました。彼らがどうやってこれをやってのけるのか私には分かりません。プライベートフィールドを取得できるので、私が知る限り、これは単純なUIAutomationではありません。また、アプリには余分なフックがないため、これはリモーティングではありません。
別のプロセスで実行されている別の.NETオブジェクトを取得して呼び出すにはどうすればよいですか?
python - Python を使用して実行中の Windows サービス (プロセス) で RPC 関数を呼び出す
Python スクリプトを使用してテストしたい Windows サービス (サーバーとして機能) があります。このサービスは C++ で記述されており、他のサービスが使用するいくつかの RPC 関数を公開しています。Python プログラムを使用してこれらの他のサービスをモックし、スクリプトからそれらの RPC 関数を呼び出したいと考えています。これが最初の段階です。第 2 段階は、サーバー サービスが別の RPC 呼び出しによって呼び出し元サービスに応答するときに発生します。これはPythonでどのように行うことができますか?
Python (またはその拡張機能) が RPC を呼び出し/受信できない場合、メイン サーバー サービス コードを変更し、必要なコードを追加すると、RPC が実行に使用したのと同じ機能を呼び出すことになります。しかし、Pythonから呼び出すことができますか?
注: サーバー サービスは、IDL ファイルで実装された生の Windows RPC を使用して RPC 関数を実装します。C++ で記述された他のサービスも、これらの RPC の使用に関心があり、IDL ファイルを使用して、通信を行うために必要なインターフェイスを生成しています。XML-RPC やその他のテクノロジを使用することはできません。
.net - 別の .NET プロセスからオブジェクトのハンドルを取得するにはどうすればよいですか?
C# では、コードから .NET 実行可能ファイルを実行する方法と、実行可能ファイルのインスタンスが既に実行されているかどうかを確認する方法を知っています。私がやりたいことは、インスタンスが既に実行されている場合Foo
、別の実行可能ファイルの C# コード内でオブジェクトのインスタンスを取得することです。
Windows アプリケーションがあります (.NET バージョンの Outlook など)。ユーザーはアプリケーションを通常どおり使用できますが、バックグラウンドで実行されているのは、サードパーティ システムからの XML ファイルを監視するプロセスです。
私が必要とするのは、ウォッチャー プロセスが .NET プログラムを実行していない場合はそれを開始し (または実行している場合はハンドルを取得し)、CreateEmail
新しい/既存のプロセス内のオブジェクト インスタンスでメソッドを呼び出すことです。
c# - WPFまたはコンソールC#アプリでWM_COPYDATA構造体を受信します
ネイティブCで記述された別のアプリケーションと通信する必要があるC#アプリケーションを作成しています。これまで、User32.dll SendMessageを使用してC#アプリからCアプリにメッセージを送信する方法を理解しました。ただし、C#アプリでCアプリからメッセージを受信する方法を理解できません。
WinFormsでWndProcメソッドをオーバーライドする例を見てきましたが、WPFまたはコンソールアプリケーションでオーバーライドするWndProcメソッドはありません。確かに、少なくともコンソールアプリケーションで行うことは可能です。右?
c# - WM_COPYDATA メッセージからの構造体のマーシャリング
WM_COPYDATA を使用して C で記述された別のアプリケーションと通信する C# WPF アプリケーションを取得しようとしています。C アプリは、次のように構造体を送信しようとしています。
私の C# アプリでは、次のように構造体を定義しました。
WM_COPYDATA メッセージを受け取るコードは次のとおりです。
C アプリケーションからメッセージを受信していますが、構造体のすべてのデータが意味不明です。以前は、lParam ポインターから手動でバイト配列を抽出し、System.BitConverter と System.Text.Encoding.ACII を使用してバイト配列を解釈することができましたが、これはかなりうまく機能していました。しかし今、私はそれをよりクリーンな方法でやろうとしていますが、うまくいきません。
c++ - Linux プロセス間再入可能セマフォ
Windows アプリケーションを Linux に移植していますが、同期の問題があります。
Windows では、共有メモリ ブロックへのアクセスを同期するために、システム レベルの名前付きミューテックスを使用しています。
Linuxでそれをエミュレートするにはどうすればよいですか? semget を使用して SystemV セマフォを作成しました。問題は、再入可能ではないことです。既に保持している場合、Windows とは異なり、ブロックされます。これに参照カウントを追加することもできますが、その場合はアクセスを同期する必要があります。つまり、別の (今回は現在のプロセスのみの) ミューテックスを意味します。
再入可能なプロセス間ロックを提供するクラスはどこかにありますか (おそらく Boost で)?
ところで、ファイル ロックの使用はおそらく遅すぎるため、受け入れられません (2 つのプロセス間の超低遅延通信が必要です)。
c# - 異なるプロセス間でドラッグアンドドロップの実装を開始するにはどうすればよいですか?
私が開発しているアプリケーションは、C#で記述されたWindowsフォームアプリケーションです。ツリービューがあります。各treeNodeはいくつかのデータを格納します。私がやりたいのは、アプリケーションの2つのコピーを開き、いくつかのツリーノードを1つのアプリケーションからドラッグして、別のアプリケーションにドロップすることです。ツリーノードが格納するデータを別のアプリケーションに転送して、別のアプリケーションでツリーノードを構築する必要があります。このようなドラッグアンドドロップ機能をどのように実装するのだろうか?ご協力いただきありがとうございます。
c# - C#でプロセス間通信を行う最も簡単な方法は何ですか?
2 つの C# アプリケーションがあり、そのうちの 1 つが 2 つの整数をもう 1 つのアプリケーションに送信するようにします (これは数秒に 1 回しか呼び出されないため、高速である必要はありません)。
これを行う最も簡単な方法は何ですか? (最もエレガントである必要はありません。)