Как получить экземпляр базового объекта из System.Диагностика.Процесс

#.net #process

#.net #процесс

Вопрос:

Хорошо, чего я пытаюсь достичь, так это:

Учитывая, что у меня есть система.Диагностика.Объект процесса, представляющий запущенное приложение (например, MS Excel) как мне перейти от объекта процесса к активному экземпляру Excel?

В идеале это было бы что-то вроде

 Dim lProcess as System.Diagnostics.Process = ProcessOfActiveWindow()
Dim lExcelInstance As Excel.Application

lExcelInsance = DirectCast(lProcess, Excel.Application)
  

ПРИМЕЧАНИЕ:

  1. «DirectCast» является заменой «здесь происходит ошибка», но, надеюсь, вы понимаете желаемый результат.
  2. Я не ищу, как конкретно добраться до Excel, я ищу «общую форму», которую я могу применить к любому приложению, для которого я знаю определение библиотеки.

Ответ №1:

«Общей формы» не существует. Почему должно быть. Большинство приложений не имеют API, предоставляющего их. Обычно нет ничего похожего на Excel.Приложение.