Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707

Вызвать функцию из внешнего (своего) процесса без окна

17.12.2015, 16:48. Показов 2405. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую.
Как вызвать функцию из своего другого процесса у которого нет окна?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.12.2015, 16:48
Ответы с готовыми решениями:

Загрузка своего кода в память другого процесса без использования dll
Привет всем! Никак не могу разобрать с тем как внедрять именно код в пямять другого процесса. С внедрением dll вроде как разобрался, а вот...

Найти handle своего окна без FindWindow
Как узнать handle своего (а не активного) окна в mvs c++ ? может в какой-нибудь переменной хранится? :scare:

Создание процесса без окна
Здравствуйте, как создать процесс без окна? Создание процесса происходит следующим образом: Process processic = new Process(); ...

32
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
17.12.2015, 20:19  [ТС]
Студворк — интернет-сервис помощи студентам
hoggy, дак это не чужой процесс. ЭТО мой процесс.

Добавлено через 1 минуту
hoggy, Хорошо. Принудительно закрыть процесс не исправит положение. Я пробовал.
Надо именно вызвать функцию, которая уже вызывает метод класса уничтожения ВСЕГО.

Почему вы не можете мне помочь в конкретном вопросе?

Добавлено через 47 секунд
hoggy, в этом процессе, который я могу закрыть, есть еще 2, к которым у меня нет доступа
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
17.12.2015, 20:25
Цитата Сообщение от Randen Посмотреть сообщение
Есть 2 программы(мои).
Если у вас есть какие-то вопросы, значит вы очень плохо спроектировали их взаимодействие.
Но если обе программы, скажем, виндовые, и каждая имеет цикл обработки сообщений, то можно их общение организовать через посылку СВОИХ сообщений друг другу.

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от Randen Посмотреть сообщение
Почему вы не можете мне помочь в конкретном вопросе?
А вот таких соплей у нас на острове не любят. Можем - поможем (если самим интересно). Не можем (не хочим) - извиняй. Дальше иди.

1
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
17.12.2015, 20:36  [ТС]
Байт, у программы 2 нет окна. Как послать сообщение процессу?

Добавлено через 6 минут
Байт, вот я и пытаюсь спроектировать взаимодействие.) Всё перепробовал. Остался этот вариант
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
17.12.2015, 20:51
Цитата Сообщение от Randen Посмотреть сообщение
у программы 2 нет окна
Можно создать ему окно. Но невидимое.
Слушай, а кто тебе мешает те действия, которые ты требуешь от 2-го окна, произвести в первом? Чего-то знает 1-я программа? Так пусть ей 2-я расскажет. Хоть через файл. Хотя логичнее - через глобальную память. Но тут уже нужны сообщения между окнами.

Добавлено через 1 минуту
Цитата Сообщение от Randen Посмотреть сообщение
вот я и пытаюсь спроектировать взаимодействие.
А нельзя ли обе программы в одну объединить, а?
1
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
17.12.2015, 20:55
Цитата Сообщение от Randen Посмотреть сообщение
Надо именно вызвать функцию, которая уже вызывает метод класса уничтожения ВСЕГО.
ВСЕ САМО СДОХНЕТ

операционка подчищает за почившими процессами.

Цитата Сообщение от Randen Посмотреть сообщение
Почему вы не можете мне помочь в конкретном вопросе?
я уже помог.
накидал вам линков на очень интересное чтиво.
там есть все, что вам нужно знать,
и даже гораздо больше.

если вам впадлу ознакомиться с материалом,
то какой тогда смысл мне тратить на вас свое время?

Цитата Сообщение от Randen Посмотреть сообщение
в этом процессе, который я могу закрыть, есть еще 2, к которым у меня нет доступа
1.
программко1 посылает программко2 сообщение: "закрываем лавочку"

2.
программко2 корректно завершает все свои дела,
после чего отсылает в обратку: "готово"
затем благополучно стреляет себе в голову.

3.
программко1 ожидает от программки2 отклика.
если длительное время его нет,
то программко1 считает, что программко2 либо уже сдохла,
либо - предатель и изменник (сбой в программе)

в общем, для профилактики программко1 делает программке2 живительную эвтаназию.

4.
PROFIT!!!!
1
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
17.12.2015, 21:01  [ТС]
Байт, обе проги в 1 нельзя, не по моей воле.
Через файл передавать как-то странно. Через глобал тоже.

Пытался передать указатель на класс, но тогда методы класса не используются.

Хочется такой способ, который не затрагивает ничего кроме моих программ.

Добавлено через 5 минут
hoggy, не впадлу) Всегда хочется чтобы все на блюдечке было)
Сейчас просто не могу полностью отдаться делу. Хорошо было, если б мне дали рецепт. Но раз нет, то разберусь конечно сам)
За ссылки спс.

Процессы не уничтожатся. Потому что та библиотека также вызывает программы через ShellExecute. И эти то процессы уничтожаются через метод destroy недоступного мне метода класса извне.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
17.12.2015, 21:09
Цитата Сообщение от hoggy Посмотреть сообщение
программко1 посылает программко2 сообщение: "закрываем лавочку"
Дык, она ж безоконная. Кому сообщугу слать?

Добавлено через 2 минуты
Цитата Сообщение от Randen Посмотреть сообщение
Через файл передавать как-то странно.
Это да.
Через глобал тоже.
Почему это? Никакого криминала не вижу. Самая стандартная путя.
Щас, подожди, поскребу по сусекам
1
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
17.12.2015, 21:12
Цитата Сообщение от Randen Посмотреть сообщение
Процессы не уничтожатся. Потому что та библиотека также вызывает программы через ShellExecute. И эти то процессы уничтожаются через метод destroy недоступного мне метода класса извне.
1.
системко сказали:
полная ликвидация всех родителей со всеми дочерними процессами

2.
и началась резня... и вырезали процессы целыми семьями...

3.
и не осталось ничего...

4.
PROFFIT!!!!!

(все это вы можете подчерпнуть из тех линков,
а так же рекомендую Рихтера почитать.
он разжовывает так, что даже дауны понять смогут).
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
17.12.2015, 21:19
Сто лет назад такой проблем получился. Приятель владел интерфейсом, а я - счетом. Придумали взаимодействие. (он придумал, я только ушами хлопал). Вот это моя часть взаимодействия. Там много всякого личного, но я не хочу ни чистить, ни вообще смотреть лишний раз. Там даже комменты в 866. Поможет разобраться - поздравляю! Нет - не обессудь.
Вложения
Тип файла: zip U.ZIP (3.9 Кб, 2 просмотров)
2
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
17.12.2015, 21:23
Цитата Сообщение от Байт Посмотреть сообщение
Дык, она ж безоконная. Кому сообщугу слать?
есть 1000500 разных способов.
как по вашему виндузятные сервисы общаются?

если есть буст, и не хочется заморачиваться,
можно сразу поюзать :
http://www.boost.org/doc/libs/... ocess.html
2
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
17.12.2015, 21:25  [ТС]
hoggy, когда я говорил что процессы не завершатся, то делал это зная практические результаты. Не закрываются и все тут. Не знаю почему. Тоже рассчитывал на это.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
17.12.2015, 21:38
Цитата Сообщение от hoggy Посмотреть сообщение
есть 1000500 разных способов.
Ну вот один, посконный, домотканный и совершенно безобразный, я предложил в предыдущем посте. А из оставшихся 1000499 нет ли чего покраше?
Цитата Сообщение от hoggy Посмотреть сообщение
если есть буст,
Увы! И от English сразу голова трясется и глаза слезятся
Цитата Сообщение от hoggy Посмотреть сообщение
как по вашему виндузятные сервисы общаются?
Молча. Секретничают.

Добавлено через 3 минуты
Цитата Сообщение от Randen Посмотреть сообщение
Не закрываются и все тут.
Ну, если они вызваны были чем-то вроде startDetashed, то им и не положено завершаться. Они от пуповины оторвались. Но программко2 знает их Идюшки. И вполне может кильнуть. Так я это себе вижу.
1
35 / 35 / 15
Регистрация: 06.01.2014
Сообщений: 707
17.12.2015, 21:59  [ТС]
Байт,
Цитата Сообщение от Байт Посмотреть сообщение
Ну, если они вызваны были чем-то вроде startDetashed, то им и не положено завершаться. Они от пуповины оторвались. Но программко2 знает их Идюшки. И вполне может кильнуть. Так я это себе вижу.
Поэтому то я и создал эту тема)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.12.2015, 21:59

Вызвать форму без перехвата активации окна
Использовал в своей программе всплывашки, взяв готовую реализацию отсюда, но немного ее переделал (поменял цвет фона, расположение...

Как вызвать функцию другого окна
Как вызвать функцию одного ВьюКонтроллера, в другом ВьюКонтроллере? Вопрос может быть глупым и банальным, но никак не могу разобраться. Я...

Запуск процесса без отображения окна
Здравствуйте подскажите пожалуйста. Как мне запустить процесс(exe файл) программы, чтобы окно программы не отображалось, но процесс был...

JS/jQuery как вызвать функцию родительского окна?
доброго всем можно ли вызвать функцию родительского окна iframe-a, если домены родителя и потомка разные? то есть: ...

Запись в память процесса без поиска окна
Во вложения я загрузил программу, которая ищет окно с определенным названием и записывает значение в память процесса. Необходимо,...


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru