次のようなプロセスを実行しています。
Process process = new Process();
process.StartInfo = new ProcessStartInfo(localpath);
process.Exited += new EventHandler(process_Exited);
process.EnableRaisingEvents = true;
process.Start();
ここで、localpath は .docx ファイルへのパスです。Word アドインもありImport
、リボンにボタンがあります。押されたら、「こんにちは」と言って何らかの値を設定する必要があります。終了すると、process_Exited() メソッドは次のことができるはずです。
MessageBox.Show(the mysterious accessor for that "hi");
ただし、親フォームが別のプロセスにある場合、親フォームにアクセスできないと多くの人が言っているので、それが可能かどうかはまったくわかりません。だから私はそのアイデアをあきらめ、私がしたいのは、その「こんにちは」を親フォーム (別のアプリケーションにあります) に送信することだけです。これは、次に何をすべきかについて十分な指標となります。
このプロジェクトを使用してみましたが、メッセージボックスは親ではなく同じウィンドウに表示されます。これらは 2 つの別々のアプリケーション (WORD と私のアプリケーション) であるためです。環境値も送信しようとしましたが、子でしか取得できません(設定できません!)。
では、子プロセスから親プロセスに渡される値を取得する方法はありますか?