Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];

Вниз

как поместить текст в 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
1-85538
Pvk2002
2002-09-12 11:17
2002.09.26
Вопрос с System Tray


3-85316
Listik
2002-09-06 16:07
2002.09.26
кто - нибудь///


4-85751
stainer
2002-08-10 02:07
2002.09.26
как отследить создание диалога или wm_initdialog


1-85554
d_oleg
2002-09-12 09:44
2002.09.26
создать BitMap с настройками шрифта как у принтера


4-85750
Донской
2002-08-09 21:41
2002.09.26
broadcastsystemmessage() послыет 5 сообщений вместо одного





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский