1 / 1 / 0
Регистрация: 02.03.2012
Сообщений: 16
|
|
1 | |
Как передать данные в поле Edit другого приложения?02.03.2012, 11:22. Показов 12243. Ответов 17
Метки нет (Все метки)
Подскажите пожалуйста как можно передать нужные данные в поле Edit другого приложения (не моего, исходников нет, просто исполняемый exe-файл имеется). Я поискал в Сети и нашел функцию
FindWindow - при помощи которой мне удалось сменить наиме нование заголовка окна. Но вот как получить доступ к конкретному объекту расположенному на форме к сожалению разобраться не смог. Подскажите пожалуйста кто знает как можно получить этот доступ. Спасибо.
0
|
02.03.2012, 11:22 | |
Ответы с готовыми решениями:
17
Передать данные в ListView другого приложения Передать данные с поля Edit на сайт в поле name="name" Как вставить текст в Edit'ы другого приложения? Как передать данные в Activity из другого класса |
1 / 1 / 0
Регистрация: 02.03.2012
Сообщений: 16
|
|
02.03.2012, 11:43 [ТС] | 3 |
Интересно, когда какой-либо элемент на форме получает фокус ввода, то это можно перехватить из другой программы? Может можно как-то по этому событию получить данные для доступа к объекту?
0
|
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
|
02.03.2012, 11:53 | 4 |
в интернете есть програмки для того чтобы выяснить хендел окна и елемента другого приложения, а передать текст можно SendKeys или SendMessage
0
|
1 / 1 / 0
Регистрация: 02.03.2012
Сообщений: 16
|
|
02.03.2012, 11:58 [ТС] | 5 |
0
|
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
|||||||||||
02.03.2012, 12:00 | 6 | ||||||||||
вот что находитса на просторах интернета:
0
|
474 / 337 / 36
Регистрация: 31.05.2011
Сообщений: 1,162
|
||||||
02.03.2012, 12:01 | 7 | |||||
0
|
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
|
02.03.2012, 12:02 | 8 |
Wissend, я думаю их вагон и маленькая тележка всяких разных и разнообразных, но их обьеденяет то что их всех знает гугл
0
|
1 / 1 / 0
Регистрация: 02.03.2012
Сообщений: 16
|
|
02.03.2012, 13:42 [ТС] | 9 |
Спасибо всем кто ответил, у меня получилось записать!
Только теперь не могу сообразить каким макаром мне записать такой же текст в другой edit? Там просто на форме их 14 штук. Мне нужно во все вносить данные. Помогите пожалуйста.
0
|
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
|
02.03.2012, 13:51 | 10 |
интуиция подсказывает что у каждого едита свой хендл... если решать вашу проблему используя фразу из русского варианта песенки из Покемонов то "Собери их всех!"(с)
0
|
1 / 1 / 0
Регистрация: 02.03.2012
Сообщений: 16
|
|
02.03.2012, 13:56 [ТС] | 11 |
Ну да, интуиция подсказывает, однако... - как эту интуицию превратить в конкретный код, пока тямы не достает у меня... Я, конечно, предположил, что следует два раза вызвать функцию findwindowex
.... edit11:=findwindowex(wnd,0,'Tedit',nil); edit22:=findwindowex(wnd,0,'Tedit',nil); .... но. к сожалению, воз и ныне там... как же собрать все хендлы Edit- ов принадлежащих конкретной форме? Может существует функция которая способна собрать все хендлы (не только edit-ов) конкретной формы и записать их в массив?
0
|
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
||||||
02.03.2012, 14:13 | 12 | |||||
Wissend, давайте помедетируем и подумаем чем должны отличатса результаты:
edit11:=findwindowex(wnd,0,'Tedit',nil); edit22:=findwindowex(wnd,0,'Tedit',nil); как мне кажетса они будут одинаковы... надо что-то менять в етой жизни... что бы такого поменять? давайте выясним что такое FindWindowEx... если пренебригать таким мощьным инструментом как справка дельфи и пользоватса таким читерством как гугл то мы можем получить примерно такое:
0
|
1 / 1 / 0
Регистрация: 02.03.2012
Сообщений: 16
|
|
02.03.2012, 14:15 [ТС] | 13 |
да нет, вроде родительское окно одно и тоже , да и класс вроде не отличается...
0
|
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
|
02.03.2012, 14:18 | 14 |
*с надеждой* тогда может быть дескриптор дочернего окна?
0
|
1 / 1 / 0
Регистрация: 02.03.2012
Сообщений: 16
|
|
02.03.2012, 14:23 [ТС] | 15 |
А вот этого я понять честно сказать до конца не могу. Я так понимаю, что "дочернее окно" это окно которое связанно с главным окном формы. Но на моей форме вообще только одно окно...
Впрочем, если мы применяли эту функцию и вычленили "edit" - который судя по описанию функции можно считать за окно... то...тогда, вероятно они этими окнами отличаются... НО!!! Я пробовал уже писать так: ... edit11:=findwindowex(wnd,0,'Tedit',nil); еdit22:=findwindowex(edit11,0,'Tedit',nil); ... - не фига не получается. А других хендлов формы я не знаю как получить.
0
|
474 / 337 / 36
Регистрация: 31.05.2011
Сообщений: 1,162
|
|
02.03.2012, 14:54 | 16 |
enumchildwindow позволит перейти на новую ступень эволюции
0
|
1 / 1 / 0
Регистрация: 02.03.2012
Сообщений: 16
|
|
02.03.2012, 15:34 [ТС] | 17 |
Чето не могу вкурить как она работает.
Судя по описанию:" function EnumChildWindows(WndParent: HWnd; EnumFunc: TFarProc; lparam: Longint): Bool; Пеpечисляет дочеpние окна указанного pодителя, пеpедавая дочеpний описатель и lParam функции обpатного вызова. Пеpечисление заканчивается, если функция обpатного вызова возвpащает нуль или если пеpечисляется последний дочеpний элемент. Паpаметpы: WndParent: Родительское окно пеpечисляемых дочеpних окон. EnumFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова. lParam: Значение, пеpеданное функции обpатного вызова." - она нам возращает логическое значение. А шо нам с ним делать потом?
0
|
0 / 0 / 0
Регистрация: 04.03.2016
Сообщений: 1
|
|
16.04.2016, 10:19 | 18 |
0
|
16.04.2016, 10:19 | |
16.04.2016, 10:19 | |
Помогаю со студенческими работами здесь
18
Как передать данные из модуля в поле? Как взять данные в поле формы из другого запроса Как числовые данные, введенные в поле edit, вывести в label текстом Как передать данные с одного клиента на другого в режиме реальной работы? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |