Как остановить появление компонента MS Graph во время Interop?

При использовании Office Interop в C #, если вы вставляете объект диаграммы в документ MS Word, приложение Grap загружается очень быстро, а затем исчезает. Есть ли способ предотвратить это? Я попытался установить для свойства Visible экземпляра приложения значение false, безрезультатно.

РЕДАКТИРОВАТЬ: свойство Visible вступает в силу при использовании против Word при взаимодействии, и оно не появляется. Я ожидаю, что есть аналогичный способ сделать это для MS Graph.

21.08.2008 13:51:33
1 ОТВЕТ

Это обычное поведение для многих компонентов, размещенных в исполняемом двоичном файле. Хост-приложение запустится, а затем выполнит работу. Я не знаю, существует ли надежный способ предотвратить это, поскольку вы не можете контролировать ни компонент, ни процесс, пока приложение не запустится и не ответит.

Хак, который я пробовал в прошлом (для чего-то совершенно не связанного), запускал процесс и постоянно обнаруживал, были ли созданы его главные окна. Как только он был создан, я его прятал. Вы можете сделать это с помощью основного модуля неисправного приложения и надеяться, что оно будет достаточно быстрым, чтобы скрыть окно до того, как пользователь заметит. Затем вы создаете экземпляр своего компонента; компонент обычно перезапускает существующий процесс, надеюсь, со скрытым главным окном.

Я не могу гарантировать вам, что это сработает в вашей ситуации, но стоит попробовать, если проблема так важна, или если вы, конечно, не найдете лучшего способа.

1
21.08.2008 14:05:06