![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Дескриптор (handle) элемента другого приложения [D5, D6, D7, Win2k, WinXP]
sensor © (2004-07-27 19:03:00)Уважаемые мастера! Подскажите такую весчь: как мне получить дескриптор TEdit'a другого приложения (оно написано тоже на дельфе).
А нужно это для посылки своего текста в другое окно.
Пример:
SendMessage(Edit1.handle, WM_SETTEXT, 0, Integer(PCHar('test')));
отправляет текст "test" в Edit1 на моей форме, а мне нужно в Edit другого приложения.
____
Заранее спасибо!
GanibalLector (2004-07-28 02:17:00) [1]ОЧЕНЬ РЕКОМЕНДУЮ InqSoft Window Scaner от CyberManiak-а.
http://kickme.to/inqsoft
sensor (2004-07-28 02:16:00) [2]WinSight32 =))
GanibalLector (2004-07-28 02:14:00) [3]Уважаемый,коль Вы занимаетесь такими вещами,то заимейте сканер окон.Пройдитесь им по Edit-у ...может это вовсе не Edit??? Найдите родителя этого edita.И опять таки findwindowex родителя.
sensor (2004-07-28 02:08:00) [4]2GanibalLector
Сорь, я прост в ВинСДК прочел что findwindowex не пашет в НТ'е =)
НО, оно всеравно не пашет. в пределах моего приложения пашет, а в другом не пашет, хотя я уверен что Edit там один
GanibalLector (2004-07-28 01:56:00) [5]Ребят..ну Вы просто гоните...Я ж и так сказал какими ф-циями.Опять не так???Ну на смотри:
procedure TForm1.Button1Click(Sender: TObject);
var Ha,Ha1:THandle;
begin
Ha:=findwindow(nil,'FUCK');
Ha1:=findwindowex(Ha,0,'TEdit',nil);
SendMessage(Ha1, WM_SETTEXT, 0, Integer(PCHar('test')));
Caption:=inttostr(ha1);
end;
sensor (2004-07-28 01:39:00) [6]2 GanibalLectorНайти хэндл нужного окна я могу, с использованием FindWindow(), а как мне узнать хэндл TEdit'a в этом приложении? (да и еще вдруг там их окажеца несколько).
parovoZZ (2004-07-27 21:39:00) [7]А если едитов много, то как быть?
GanibalLector (2004-07-27 19:48:00) [8]Находиш сначала хендл ТОГО приложения,а только потом находиш хендл edit-a.Поможет findwindow и findwindowex