Как остановить компонент MS Graph, возникающий во время Interop?


0

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

EDIT: Видимое свойство вступает в силу, когда используется против Word при взаимодействии, и оно не всплывающее окно. Я бы ожидал, что аналогичный способ для MS Graph.

1

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

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

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