Здравствуйте, SkyKnight, Вы писали:
SK>Здравствуйте, kolja2003, Вы писали:
K>>Вопрос: Или хотябы обнаружить что есть открытые экзел-аппликации чтобы сделать диагностику? SK>Есть такая функция GetActiveObject
SK>ну или можно в тупую: пробежаться по процессам и поискать Excel.exe.
Спасибо. Посмотрел описание GetActiveObject. Выглядит так что по коллу: Marshal.GetActiveObject("Excel.Application"); если открыто несколько несколько объектов то выдаст первый попавшийся. Если так то можно конечно в цикле пробежаться и закрыть все. Я так понимаю что закроет все объекты созданные DCOM server process launcher. Правильно? (конечно я проверю но может вы уже знаете)
Но вот если Экзел аппликация была открыта интерактивно то есть с помощью exploler.exe то видимо не будет доступна этой функции?