0

私がやろうとしているのは、(例として) SolidWorks の eDrawings を使用して、アプリケーションが生成するリストからユーザーが選択した指定の .dwg ファイルを開くことです。

これは問題なく実行できますが、ここでやりたいことは、eDrawings プロセスが既に実行されている場合、表示されている .dwg をユーザーが選択した新しいものに変更することです。

eDrawings アプリケーションの Process オブジェクトが既にあり、それに対して process.CloseMainWindow() を正常に使用したので、アプリケーションが正しいプロセスをターゲットにしていることがわかります。

ファイルを変更するように指示する方法を知る必要があるだけです。これは eDrawings に固有のものになりますか (および/または .NET フレームワーク自体からは利用できません) ?

多分何かのような

Process myProcess = Process.GetProcessesByName("eDrawings")[0];
myProcess.CurrentFile = myNewFile;

これはできますか?

編集:

私が求めている解決策を強調するために、eDrawings プログラムは、それ自体の新しいインスタンスを閉じたり開いたりすることなく、新しい .dwg ファイルをロードする必要があります。

これを行うポイントは、アプリケーションが開くたびに過度のロード時間を回避することです。

4

1 に答える 1

0

私があなたの質問を正しく理解し、他のプロセスがメインのアプリケーション プロセスにアクセスできるようにする場合は、相互運用マーシャリングについてお読みください: http://msdn.microsoft.com/en-us/library/eaw10et3.aspx

于 2013-06-20T04:16:32.553 に答える