Доступ к Edit стороннего приложения.

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Доступ к Edit стороннего приложения.

Сообщение kotompazb » 20.09.2015 01:47:44

Здравствуйте.
Снова я.
И вот возникла у меня необходимость разобраться в том, в чем я совсем ничего не понимаю.
Суть.
Надо связать два приложения.
Все дело происходит под Окнами.
Есть запущенное приложение. У приложения есть дочерняя форма (пусть будет открытая на данный момент), на этой форме пара GroupBox, в них набор Edit. Необходимо по нажатию кнопки в моем приложении отправить в эти Edit определенный текст. Первое приложение тоже мое. Это, я думаю, что-то может упростить. Дополнительная сложность в том, что имя формы может быть разным (в зависимости от того, какой язык интерфейса активен).
Я в курсе, что это можно сделать через WinApi. Но, во-первых, очень бы не хотелось, а во-вторых, в WinApi я совершенно ничего не понимаю.
Прошу помощи.
Может быть есть какой-то способ без использования WinApi все-таки? Тем более доступ к внутренностям обоих приложений у меня, естественно, имеется.
P.S. Все, чего я пока добился (используя-таки WinApi), это успешное нахождение приложения, дочерней формы по заголовку (что не желательно). Все.
Аватара пользователя
kotompazb
постоялец
 
Сообщения: 153
Зарегистрирован: 21.06.2012 13:03:39
Откуда: Novosibirsk, xUSSR

Re: Доступ к Edit стороннего приложения.

Сообщение Снег Север » 20.09.2015 08:01:45

Есть только два способа - через message - зная handle другой формы, и через сокеты, организуя полноценную клиент-серверную связку. Третьего способа я не знаю.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3053
Зарегистрирован: 27.11.2007 16:14:47

Re: Доступ к Edit стороннего приложения.

Сообщение Pavia » 20.09.2015 10:23:09

Это у вас просто предвзятое отношение. К WinAPI.

Способов организации взаимодействия между программами великое множество. На английском это обычно называется IPC:
1) Общая память (Sharid Memory)
2) Сокеты (WinSock, SOCKETS[Unix])
3) Именованные каналы (Name Pipe)
4) Сообщения (Messages)
5) Почтовые ящики (Mailslots, MessageBox[Unix])
и тд.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365574(v=vs.85).aspx
Подробнее можно прочитать в книге Дж Ритхер "Windows для профессионалов" (у него много книг с разными названиями, а суть одна)
Аватара пользователя
Pavia
постоялец
 
Сообщения: 290
Зарегистрирован: 07.01.2011 12:46:51

Re: Доступ к Edit стороннего приложения.

Сообщение kotompazb » 20.09.2015 13:05:01

Выходит, проще однако через WinApi...
Аватара пользователя
kotompazb
постоялец
 
Сообщения: 153
Зарегистрирован: 21.06.2012 13:03:39
Откуда: Novosibirsk, xUSSR

Re: Доступ к Edit стороннего приложения.

Сообщение resident » 20.09.2015 22:58:23

kotompazb писал(а):Все, чего я пока добился (используя-таки WinApi), это успешное нахождение приложения, дочерней формы по заголовку (что не желательно). Все.

Дык, вы вроде в одной строчке от цели. Найти хенд контрола и послать туда message.
kotompazb писал(а):Выходит, проще однако через WinApi...

Если не нарветесь на игнорирование Лазарусом некоторых сообщений, например, WM_COPYDATA прога с ходу не примет.
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: Доступ к Edit стороннего приложения.

Сообщение kotompazb » 21.09.2015 17:55:33

resident писал(а):Дык, вы вроде в одной строчке от цели. Найти хенд контрола и послать туда message.

Да. Только заголовки мне использовать нельзя - они меняются, при смене языка интерфейса (po-файл может быть отредактирован юзером, как ему будет угодно), поэтому искать нужное окошко пришлось по количеству и порядку дочерних контролов.
resident писал(а):Если не нарветесь на игнорирование Лазарусом некоторых сообщений, например, WM_COPYDATA прога с ходу не примет.

Мне надо было в едиты текст слать, WM_SETTEXT сработал, как задумывалось.
P.S. Конечно обидно, что приходится забивать на кроссплатформенность, но... учится чему-то совсем неизведанному нет возможности, программирование (если это можно так назвать) - только хобби, а свободного времени, как всегда...
Аватара пользователя
kotompazb
постоялец
 
Сообщения: 153
Зарегистрирован: 21.06.2012 13:03:39
Откуда: Novosibirsk, xUSSR


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 243

Рейтинг@Mail.ru
cron