Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.26;
Скачать: CL | DM;

Вниз

как поместить текст в Edit, находящийся в окне чужой проги?   Найти похожие ветки 

 
S&G   (2002-08-06 13:49) [0]

Доброго времени суток!

Возникла тут у меня большая трабла. Может кто сталкивался с ней из великого ALL-а и знает, как ее победить?

Суть: есть некая прога, у которой в окне есть edit. И есть моя прога, которой надо поместить текст в этот самый эдит. (естесно, все под виндами). Как это сделать? Я мыслю, надо эмулировать нажатия клавиш путем посылки соответсвующих сообщений типа WM_KEYDOWN, WM_KEYUP и т.д. , предварительно узнав хендл. Ну поразвлекался я так... Весело было, но ни фига не работает. Потом я взял старый добрый Spy++ и посмотрел, какие мессаги происходят в эдите при нажатии клавиш. Попробовал проэмулировать их из своей проги. И вновь - "кликну, а в ответ тишина..." :) Такие вот пирожки.

Может, кто подскажет че-нить интересное по этому вопросу?

Заранее ОГРОМНОЕ спасибо!

S&G


 
Song ©   (2002-08-06 14:12) [1]

WM_SETTEXT,WM_PASTE


 
ilg ©   (2002-08-07 11:23) [2]

Это делается так:

Var str:string;
h:hWnd;

str:="Это мой текст!";
sendmessage(h,WM_SETTEXT,0,Integer(PChar(str)));
,
где h - handle того самого Edit.
Рад, если помог!


 
S&G   (2002-08-07 11:30) [3]


Спасибо, Друг!

Да пребудет с Тобой Сила!

p.s. Как я вскоре установил, корректнее будет

SendMessage( hwnd, WM_SETTEXT, 0, LPARAM(LPCTSTR(str)) )

Но все равно СПАСИБО! Выручил :)
Удачного дня!


 
Gari   (2002-08-07 15:53) [4]

А скажите мне уважаемые господа, каким образом мне получить handle окна и edit?


 
Song ©   (2002-08-07 16:21) [5]

FindWindowEx(), GetWindow()


 
S&G   (2002-08-08 15:45) [6]

Чтобы получить хендл эдита, надо взъюзнуть FindWindowEx()

Но есть там одна очень тонкая вещь, на которую я убил пару часов. Первый параметр - хендл родителя, т.е. окна, на котором эдит лежит. Это просто. А вот второй - хендл первого чайлда. По логике туда надо пихнуть NULL. Но не тут-то было! Оказалось, второй параметр должен быть такой же, как и первый, тогда ты сможешь находить хендлы эдитов, кнопарей и т.д. И будет тебе радость! :)

Удачи!



Страницы: 1 вся ветка

Текущий архив: 2002.09.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
14-85678
spROOT13
2002-08-30 19:57
2002.09.26
Реестр в DOS


1-85421
Eugene Shebeko
2002-09-12 20:55
2002.09.26
Как отключить перерисовку окна?


14-85690
DeepProg
2002-08-31 14:54
2002.09.26
И снова о лит-ре


3-85337
LUK_Paul
2002-09-04 14:53
2002.09.26
Отрицательные значения в ADO


6-85621
alkmas
2002-07-19 11:16
2002.09.26
Перенаправление пакетов