Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с SendMessage [D6, WinXP]


Volf_555 ©   (2006-03-14 18:56:00) 

Для изменения текста в другом окне использую следующий код:
procedure TForm1.Button1Click(Sender: TObject);
var
s:Integer;
a:Integer;
z:String;
begin
s:=FindWindow(nil,'Безымянный - Блокнот');
a:=FindWindowEx(s,0,'Edit',nil);
z:='Проверка';
SendMessage(a,WM_SetText,0,Integer(z));
end;


А как с помощью SendMessageполучить текст определённого окна (допустим - того же блокнота)?


Handle   (2006-03-14 21:40:00) [1]

procedure TForm1.Button1Click(Sender: TObject);
var
s:hwnd;
a:hwnd;
z:array [0..100] of char;
begin
s:=FindWindow(nil,'Безымянный - Блокнот');
a:=FindWindowEx(s,0,'Edit',nil);
SendMessage(a,WM_GETTEXT,100,LongInt(@z));
ShowMessage(z);
end;


Leonid Troyanovsky   (2006-03-14 19:23:00) [2]


> Volf_555 ©   (14.03.06 19:04) [2]

> Что здесь не так?


Строки 7 и 9.
И, память для результата будет, видимо, выделять Пушкин.

--
Regards, LVT.


clickmaker   (2006-03-14 19:23:00) [3]


> Volf_555 ©   (14.03.06 19:04) [2]

читай хелп про типы данных и работу с памятью.
Для z где она выделена?


Volf_555   (2006-03-14 19:04:00) [4]

Использовал следующий код. Результат - пустая строка, хотя блокнот открытый и там есть текст.
procedure TForm1.Button1Click(Sender: TObject);
var
s:Integer;
a:Integer;
z:String;
begin
s:=FindWindow(nil,'Безымянный - Блокнот');
a:=FindWindowEx(s,0,'Edit',nil);
SendMessage(a,WM_GetText,0,Integer(z));
ShowMessage(z);
end;

Что здесь не так?


Leonid Troyanovsky   (2006-03-14 18:59:00) [5]


> Volf_555 ©   (14.03.06 18:56)  

> А как с помощью SendMessage получить текст определённого
> окна (допустим - того же блокнота)?


WM_GETTEXT.

--
Regards, LVT.


Наверх

Титульная страница Поиск, карта сайта Написать письмо