.NET Interop: Найдите все экземпляры работы Com -объекта с C#
-
23-08-2019 - |
Вопрос
Фон
Я автоматизирую какое-то офисное приложение (Word и PowerPoint) через инструмент командной строки.
Одна вещь, которую должен сделать мой инструмент, это найти все бегущие экземпляры слова.
Я знаю, как получить ссылку на один из случаев ...
Object running_obj = null;
{
running_obj = System.Runtime.InteropServices.Marshal.GetActiveObject(progid);
}
catch (System.Exception)
{
//failed to find the object;
}
if (running_obj!=null)
{
var running_obj_type = System.Type.GetTypeFromProgID(progid);
Microsoft.Office.Interop.Word.Application running_obj_wrapper;
running_obj_wrapper =
(Microsoft.Office.Interop.Word.Application)
System.Runtime.InteropServices.Marshal.CreateWrapperOfType(
running_obj, running_obj_type);
}
Мой вопрос
Как найти все Примеры приложения, которые я ищу, не только один из них.
Примечание. Хотя вопрос о том, как мой вопрос о заявках на офис, Am Am также Заинтересованы в ответах, которые более общие.
Решение
Не пробовали это. Но это похоже на правильное решение. Из Оливер Бок Блог.
Не связан с StackOverflow