2010-10-20 4 views
2

с помощью этого кода я получаю объект, представляющий Visual Studio:Получить активный визуальный объект Студии

var dte2 = Marshal.GetActiveObject("VisualStudio.DTE.10.0") as DTE2; 

Однако, когда у меня есть несколько экземпляров из VS открываемых, это возвращает любой экземпляр VS, не один я в настоящее время выполнение кода из.

Я не являюсь частью надстройки, поэтому у меня нет доступа к applicationObject.

Как я могу получить текущий экземпляр Visual Studio?

Большое спасибо.

ответ

1

Попробуйте вытащить Active Window Handle (переднее окно) с помощью API Windows.

+0

то вы просто бросаете эту ручку в DTE2? как бы вы сделали прыжок от ручки окна? – Maslow