Создал проект WinForms и... не понял, облазил интернет, а где код подключения к COM объекту, чтобы в нём выполнить код — не нашёл...
Только создание COM объекта в поисковиках вылазит, а как в систему установленный COM объект использовать — ничего.
Можете помочь?
Ваша программа работает корректно? Один звонок и я всё исправлю!
Делаю потенциальные фичи :))
Re: Как подключиться к COM объекту и выполнить там код?
Здравствуйте, Багер, Вы писали:
Б>Создал проект WinForms и... не понял, облазил интернет, а где код подключения к COM объекту, чтобы в нём выполнить код — не нашёл... Б>Только создание COM объекта в поисковиках вылазит, а как в систему установленный COM объект использовать — ничего. Б>Можете помочь?
Напишите подробнее, что за объект. Вообще там ничего сложного нет, создаёте клиент, указывая имя класса и вызываете его методы.
Re[2]: Как подключиться к COM объекту и выполнить там код?
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, Багер, Вы писали:
Б>>Создал проект WinForms и... не понял, облазил интернет, а где код подключения к COM объекту, чтобы в нём выполнить код — не нашёл... Б>>Только создание COM объекта в поисковиках вылазит, а как в систему установленный COM объект использовать — ничего. Б>>Можете помочь?
С>Напишите подробнее, что за объект. Вообще там ничего сложного нет, создаёте клиент, указывая имя класса и вызываете его методы.
Так вот где примеры создания клиента, указания имя класса и вызова его методов? Не пойму — пустота какая-то. Только создание объектов встречается
Ваша программа работает корректно? Один звонок и я всё исправлю!
Делаю потенциальные фичи :))
Re[3]: Как подключиться к COM объекту и выполнить там код?
Здравствуйте, Багер, Вы писали:
Б>>>Можете помочь?
С>>Напишите подробнее, что за объект. Вообще там ничего сложного нет, создаёте клиент, указывая имя класса и вызываете его методы.
Б>Так вот где примеры создания клиента, указания имя класса и вызова его методов? Не пойму — пустота какая-то. Только создание объектов встречается
А сказать, что за объект-то, можно, или это секретная информация?
Большинство примеров — "объект" это приложение типа Excel, Autocad или 1С. Это ваш случай?
Что значит "установленный в систему объект" — не очень ясно
Какая-то установленная на компьютер (в Program Files) программа?
Какая-то системная DLL, которая предоставляет COM методы?
Запущенный сервис?
Запущенное другое приложение?
Здравствуйте, bnk, Вы писали:
bnk>Здравствуйте, Багер, Вы писали:
Б>>>>Можете помочь?
С>>>Напишите подробнее, что за объект. Вообще там ничего сложного нет, создаёте клиент, указывая имя класса и вызываете его методы.
Б>>Так вот где примеры создания клиента, указания имя класса и вызова его методов? Не пойму — пустота какая-то. Только создание объектов встречается
bnk>А сказать, что за объект-то, можно, или это секретная информация? bnk>Большинство примеров — "объект" это приложение типа Excel, Autocad или 1С. Это ваш случай?
У меня вопрос "как подключить _любой_ объект", откуда мне знать, какой завтра потребуется. Зарегистрирован в системе как "FT2020.кучабуквоцифр". Что это даёт в направлении поиска мануала по VS2019+С#+WinForms?
Ваша программа работает корректно? Один звонок и я всё исправлю!
Делаю потенциальные фичи :))
Re[4]: Как подключиться к COM объекту и выполнить там код?
Здравствуйте, bnk, Вы писали:
bnk>Здравствуйте, Багер, Вы писали:
Б>>>>Можете помочь?
С>>>Напишите подробнее, что за объект. Вообще там ничего сложного нет, создаёте клиент, указывая имя класса и вызываете его методы.
Б>>Так вот где примеры создания клиента, указания имя класса и вызова его методов? Не пойму — пустота какая-то. Только создание объектов встречается
bnk>А сказать, что за объект-то, можно, или это секретная информация? bnk>Большинство примеров — "объект" это приложение типа Excel, Autocad или 1С. Это ваш случай?
bnk>Что значит "установленный в систему объект" — не очень ясно
bnk>Какая-то установленная на компьютер (в Program Files) программа? bnk>Какая-то системная DLL, которая предоставляет COM методы? bnk>Запущенный сервис? bnk>Запущенное другое приложение?
Если как-то проще с "приложение типа Excel, Autocad или 1С" — мне без разницы, главное пример подключения к COM-объекту нужен, и пример вызова его метода.
Хоть с компьютера сони, хоть с леново — без разницы
Ваша программа работает корректно? Один звонок и я всё исправлю!
Делаю потенциальные фичи :))
Re[5]: Как подключиться к COM объекту и выполнить там код?
Здравствуйте, Багер, Вы писали:
Б>У меня вопрос "как подключить _любой_ объект", откуда мне знать, какой завтра потребуется. Зарегистрирован в системе как "FT2020.кучабуквоцифр". Что это даёт в направлении поиска мануала по VS2019+С#+WinForms?
Все же, что значит "зарегистрирован в системе" — имеется в виду, если такое имя в реестре, или он выполняется под этим именем?
Вообще любой COM-объект, который поддерживает automation, можно создать примерно так:
var t = Type.GetTypeFromProgID("Excel.Application"); // здесь вместо этого идет твой "FT2020.кучабуквоцифр"dynamic app = Activator.CreateInstance(t);
app.Visible = true; // вызываем что-нибудь
app.Quit();
Если другой объект уже запущен, его можно получить так
dynamic app = Marshal.GetActiveObject("Excel.Application"); // здесь вместо этого идет твой "FT2020.кучабуквоцифр"
app.Visible = true;
app.Quit();
Или я все еще не понял вопроса?
Re[6]: Как подключиться к COM объекту и выполнить там код?
Здравствуйте, bnk, Вы писали:
bnk>Здравствуйте, Багер, Вы писали:
Б>>У меня вопрос "как подключить _любой_ объект", откуда мне знать, какой завтра потребуется. Зарегистрирован в системе как "FT2020.кучабуквоцифр". Что это даёт в направлении поиска мануала по VS2019+С#+WinForms?
bnk>Все же, что значит "зарегистрирован в системе" — имеется в виду, если такое имя в реестре, или он выполняется под этим именем?
bnk>Вообще любой COM-объект, который поддерживает automation, можно создать примерно так:
bnk>
bnk> var t = Type.GetTypeFromProgID("Excel.Application"); // здесь вместо этого идет твой "FT2020.кучабуквоцифр"
bnk> dynamic app = Activator.CreateInstance(t);
bnk> app.Visible = true; // вызываем что-нибудь
bnk> app.Quit();
bnk>
bnk>Если другой объект уже запущен, его можно получить так
bnk>
bnk> dynamic app = Marshal.GetActiveObject("Excel.Application"); // здесь вместо этого идет твой "FT2020.кучабуквоцифр"
bnk> app.Visible = true;
bnk> app.Quit();
bnk>
bnk>Или я все еще не понял вопроса?
Да! Это оно! Спасибо большое! А то элементарная вещь, но поиск — он такой поиск)))
Ваша программа работает корректно? Один звонок и я всё исправлю!
Делаю потенциальные фичи :))
Re: Как подключиться к COM объекту и выполнить там код?
Здравствуйте, Багер, Вы писали:
Б>День добрый!
Б>Создал проект WinForms и... не понял, облазил интернет, а где код подключения к COM объекту, чтобы в нём выполнить код — не нашёл... Б>Только создание COM объекта в поисковиках вылазит, а как в систему установленный COM объект использовать — ничего. Б>Можете помочь?
В Visual Studio достаточно добавить в проект ссылку на нужный COM объект при этом в проекте будет сгенерирована заглушка-прокси(при сборке появится дополнительная dll)
она покажет все доступные методы, другой способ уже предложили, называется динамическое связывание.