![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Напомните по WinAPI [D7, XP]
Ru © (2008-12-17 17:23:00)Есть окно сторонней программы, в которой обитает объект класса "RichEdit20W". Хочу из этого объекта читать текст и писать туда.
По идее:
1. получаю указатель (handle) на родительское окно.
2. получаю указатель на объект.
3. записываю в объект данные.
FindWindow, FindWindowEx - отработали на 100%
Проверил указатели получаю правильные, то есть реально соответствующие указателю окна и объекта. Проверял при помощи Windows Inspector.
Теперь с помещением извлечением текста:
завёл переменные:
var
tmpHandle:HWND;
Text:string;
Чтобы поместить текст использую следующую конструкцию:
SendMessage(tmpHandle,
WM_SETTEXT,
Length(Text),
integer(Text));
Чтобы прочесть:
GetWindowText(tmpHandle,
pchar(Text),
Length(Text));
И, как вы понимаете, я текст ни записываю, ни получаю.
Посему ищу помощи: может кто подскажет, что я упустил?
Ru (2008-12-18 12:02:00) [1]
> Leonid Troyanovsky © (17.12.08 20:52) [4]
Спасибо.
Leonid Troyanovsky (2008-12-17 20:52:00) [2]
> Ru © (17.12.08 17:30) [3]
http://www.rsdn.ru/Forum/?mid=470678
--
Regards, LVT.
Ru (2008-12-17 17:30:00) [3]
> Сергей М. © (17.12.08 17:27) [1]
Если судить по результату - эффект тот же.
Может это быть как-то связано с классом объекта?
Сергей М. (2008-12-17 17:27:00) [4]
> что я упустил?
Как минимум integer( PChar(Text) )упустил.
Ru (2008-12-17 17:27:00) [5]Кстати попытка сделать так:
SetWindowText(tmpHandle,'hello');
тоже эффекта не дала ...