Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1212 / 706 / 335
Регистрация: 22.02.2018
Сообщений: 2,059
Записей в блоге: 2
1

Как прицепиться к определенному процессу?

25.04.2018, 05:38. Показов 1334. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Столкнулся с такой задачей - внешнее приложение через OLE цепляется к запущенной программе
C++
1
2
3
4
5
 
   Variant vMapInfo;
//.................
  
   vMapInfo=GetActiveOleObject("MapInfo.Application");
Но цепляется к первому запущенному, а у меня несколько открытых окон программы. Как можно соединиться с конкретным запущенным экземпляром? Подскажите, кто знает. Заранее благодарю.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2018, 05:38
Ответы с готовыми решениями:

Как привязать ProgressBar к определенному процессу
Доброго времени суток! Есть програмка которая рисует амплитуду аудио файла, как отобразить этот...

Как операционная система выделяет виртуальную память процессу?
Добрый вечер, хотел уточнить насчёт адресации: создаётся экземпляр win32 программы, выделяет...

Как послать сообщение WM_QUERYENDSESSION определенному процессу из приложения?
Вопрос в заголовке. Возможно ли такое?

Можно ли как-то подключиться к процессу 1с
задача такая: есть процесс или сеанс который видно либо в консоле кластера , либо в диспетчере...

4
737 / 527 / 130
Регистрация: 31.05.2013
Сообщений: 2,975
Записей в блоге: 3
25.04.2018, 07:31 2
Доброго!
Вроде через GetActiveOleObject, только к активному документу можно, по другому с данной функцией ни как. Но ни кто не мешает, на основе данной функции слепить свою, и добавить дополнительный идентификатор.
0
1212 / 706 / 335
Регистрация: 22.02.2018
Сообщений: 2,059
Записей в блоге: 2
25.04.2018, 07:39  [ТС] 3
Dinkin, Хоть к активному, хоть все окна свернуты - цепляется к первому в списке процессов.
Цитата Сообщение от Dinkin Посмотреть сообщение
добавить дополнительный идентификатор
Вопрос - чем инициировать идентификатор и как его передать?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,432
Записей в блоге: 8
25.04.2018, 08:37 4
Лучший ответ Сообщение было отмечено TrollHammer как решение

Решение

Пес знает, как с этим приложением (я ни его, ни Windows не держу, проверить не получится) но для того же Word-а/Excel-я легко прицепиться к любому открытому файлу: Дописать информацию в уже открытый документ Word
1
1212 / 706 / 335
Регистрация: 22.02.2018
Сообщений: 2,059
Записей в блоге: 2
25.04.2018, 09:42  [ТС] 5
volvo, спасибо за подсказку, но с MapInfo такой трюк не проходит. Буду рыть дальше.

Добавлено через 6 минут
Вся проблема в том, что я могу пройти по заголовкам окон и считать название карты (в каждом окне открыты карты с разными названиями). Но дальше как? Функция GetActiveOleObject принимает только строку-класс приложения. А других способов подключения к MapInfo я не находил (именно для Builder).

Добавлено через 31 минуту
volvo, Еще раз ОГРОМНОЕ СПАСИБО!!! Попробовал обратиться к свойству Item (как в вашем примере с Word) - случилось чудо. Я получил имя и номер работающего приложения. А дальше дело техники. Отлажу код - выложу, может кому пригодится.
0
25.04.2018, 09:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2018, 09:42
Помогаю со студенческими работами здесь

Как присоединиться к чужому процессу?
Вообщем хотелось бы, чтобы программа присоединилась к чужому процессу, который уже идет на компе и...

Как запретить процессу доступ к интернету
Подскажите, как сделать так что-бы заданной клавиши процессу запрещался доступ в интернет, а по...

Как передать CredHandle дочернему процессу?
Добрый день. Пишу Web-сервер вроде IIS. Реализовал расширения cgi и isapi. По http все...

Как отправить запустившему процессу сообщение?
В основной программе я вызываю внешнюю программу через функцию ShellExecute. После отработки этой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru