Windows で TCL スクリプトを実行しています。別のプロセスで実行されている古い vc++ 6 アプリと通信する必要があります。双方向通信が必要です。Linux では dbus を使用しますが、Windows ではどの IPC 戦略を使用すればよいですか?
6 に答える
Boost.interprocessには、C++ の共有メモリやメッセージ パッシングなど、さまざまな方法があります。いつでもそこから始めて、スクリプトと互換性があるものを確認できます。
Windows の Tcl には dde サポートが組み込まれています (dde コマンドについてはドキュメントを参照)。これは、他のアプリケーションがこれをサポートしている場合に役立ちます。もう 1 つのオプションは、TWAPI (Tcl Windows API) 拡張機能です。これには、キーボードとマウスの入力を別のアプリケーションに送信する機能があります。 http://twapi.magicsplat.com/input.htmlを参照してください。
MSDN のオプションのリスト: http://msdn.microsoft.com/en-us/library/aa365574(VS.85).aspx
より「エンタープライズ」なものが必要な場合は、Windows Message Queueもあります。
Tclの観点から、VC6アプリで許可されている場合、最も簡単な方法は、TCLにVCアプリを起動させてから、stdinとstdoutを使用して通信することです。それが不可能な場合は、Tclソケットコマンドを使用して、別のプロセスとのTCPソケット接続を確立できます。
最初の詳細についてはここを、ソケットに関する情報についてはここを参照してください。