![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
например в чужое окно можно записать значение, а как прочесть из
Zert © (2005-10-11 08:16:00)например в чужое окно можно записать значение, а как прочесть из чужого окна?
procedure TForm1.Button5Click(Sender: TObject);
var
df : PChar;
begin
df := '55';
SendMessage(591438, WM_SETTEXT, 0, lParam(PChar(df)));
Edit1.Text := df;
end;
capkoh (2005-10-11 10:48:00) [21]
> GetWindowText
> This function cannot retrieve the text of an edit control
> in another application.
Не знаю, как насчет этой функции, но WM_GETTEXT с этим справляется легко. Естественно, если окно имеет Handle.
> SendMessage(591438, WM_SETTEXT, 0, lParam(PChar(df)));
Разве Handle можно так использовать? Неужели он всё время постоянен? Нет. Handle компонента при каждом запуске приложения разный. Для его получения см. FindWindow и EnumWindows, EnumChildWindows.
Zert (2005-10-11 10:38:00) [22]Digitman это TUser посоветовал.
что такая невыполнимая задача, что никто не знает как прочесть из чужого окна?
или может в конфу для начинающих данный пост спихнуть
а то такие вопросы задаю прям профи не удобно на них отвечать :)
все мы в чем то начинающие, вот так.
Digitman (2005-10-11 09:35:00) [23]читай справку :
GetWindowText
This function cannot retrieve the text of an edit control in another application.
Zert (2005-10-11 09:25:00) [24]procedure TForm1.Button1Click(Sender: TObject);
GetWindowText
не работает тоже, не читает, а SetWindowText не пишет,
вот SendMessage(591438, WM_SETTEXT, 0, lParam(PChar(df))); пишет
так пробовал GetWindowText:
var
df : PChar;
s2 : string;
begin
df := '55';
s2 := '55';
SetWindowText(590592, PChar(df) );
GetWindowText(590592, PChar(df) , 255 );
Edit2.Text := df;
end;
Zert (2005-10-11 09:11:00) [25]SendMessage(... WM_GETTEXT...)?
я бы не задавал вопрос если б это работало
TUser (2005-10-11 09:01:00) [26]GetWindowText
Джо (2005-10-11 08:19:00) [27]Если ты это
> SendMessage(591438, WM_SETTEXT, 0, lParam(PChar(df)));
называешь "записать в чужое окно значение", то почему-бы не "прочитать из чужого окна значение" так
SendMessage(... WM_GETTEXT...)?