![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с 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.