InteropでMS Graphコンポーネントがポップアップするのを止めるにはどうすればいいですか?


0

C#でOffice Interopを使用する場合、グラフオブジェクトをMS Word文書に挿入すると、Grapアプリケーションが非常に短時間読み込まれてから消えます。これが起こらないようにする方法はありますか?アプリケーションインスタンスのVisibleプロパティをfalseに設定してみましたが効果がありません。

EDIT:Visibleプロパティは、インターワーキング時にWordに対して使用されると有効になり、がポップアップしません。私はMS Graphのためにこれを行う同様の方法があると思います。

1

これは、実行可能なバイナリでホストされる多くのコンポーネントの一般的な動作です。ホストアプリケーションが起動してからジョブを実行します。アプリケーションを起動して応答するまで、コンポーネントを制御したり、プロセスを制御したりすることができないため、確実に回避する方法があるかどうかはわかりません。

私が過去に試したハック(完全に無関係のもの)は、プロセスを開始し、そのメインウィンドウが作成されたかどうかを常に検出していました。それが作成されるとすぐに、私はそれを隠していました。これは、欠陥のあるアプリケーションのメインモジュールで行うことができ、ユーザが気付く前にウィンドウを隠すのに十分速くなることを願っています。次に、コンポーネントをインスタンス化します。コンポーネント通常は、既存のプロセスをリサイクルし、隠されたメインウィンドウを持つものを希望します。

これはあなたの状況ではうまくいくとは思えませんが、それを試してみることが重要です。あるいは、より良い方法を見つけられない場合は、それを試してみる価値があります。