Как остановить появление компонента MS Graph во время Interop? - PullRequest
0 голосов
/ 21 августа 2008

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

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

1 Ответ

1 голос
/ 21 августа 2008

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

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

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

...