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

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

Работа с чужими окнами... [D7, WinXP]


Страницы:   1 2

MDSEnterprises ©   (2007-09-20 16:36:00) 

Как мне узнать имена всех TEdit компонентов на чужой форме, получить их индексы и написать в них свой текст?
А именно в 1-й Login, а во 2-й password.


MDSEnterprises   (2007-09-21 20:50:00) [21]

Я щас попробовал и у меня меняет только заголовок найденной проги, с помощью WM_SETTEXT

Вот текст

procedure TForm1.Button1Click(Sender: TObject);
var
 q: hWnd;
begin
 q := FindWindow(nil, 'program');
 if q = 0 then exit;
 SendMessage(q, WM_SETTEXT, 0, lParam(LPCTSTR('Test')));
end;


MDSEnterprises   (2007-09-21 20:22:00) [22]

>Во-первых, если программа не на дельфях и не на билдере, то никакого имени >там не будет... во-вторых, чтобы поменять текст в EDIT-е или в TEdit-е, >достаточно дескриптора и функции SetWindowText или сообщения >WM_SETTEXT, никакие "имена" не нужны...

Это понятно. Спасибо...
Но возникает вопрос как узнать в кокой EDIT или TEdit будет записываться текст?


Германн   (2007-09-21 01:41:00) [23]


> Как мне узнать имена всех TEdit компонентов на чужой форме,
>  получить их индексы и написать в них свой текст?
> А именно в 1-й Login, а во 2-й password.
>

Ну да, ну да. Именно "написать в них свой текст"!

Интересно какой ник придумает автор, когда задаст вопрос о "как прочитать"?
:-)


Черный Шаман   (2007-09-21 00:50:00) [24]


> DVM ©   (20.09.07 17:26) [6]
>
>
> > А ты уже выяснил, что там TEdit ?
>
> конечно он выяснил все давно, вот программа на джаве, вот
> тэдиты...


Пан разбирается на извращениях :) Ну почему же, при использовании SWT там могут быть и окна.


Однокамушкин   (2007-09-20 22:02:00) [25]


> MDSEnterprises ©   (20.09.07 17:11) [2]
> Есть индекс(идентификатор) окна получаемый функцией FindWindow(),
>  

Это ж надо было так дескриптор обозвать... что его называют хандлером - слышал, рукояткой - тоже слышал, но вот индексом - это впервые встречаю...

> >А ты уже выяснил, что там TEdit ?
> Нет. Но  не трудно догадаться.

Вовсе не факт... есть окна, которые выглядят так же, как TEdit, а оконный класс у них другой... системный EDIT, например... вообще, TEdit встречается только в программах, написанных на дельфях или на билдере, а во всех остальных программах TEdit вряд ли найдётся...

> в Инспекторе Объектов есть поле Name, в котором написано
> имя компонента (Edit1 по умолчанию), бывает что его меняют.
> ..
> Как я понял мне нужно узнать его имя чтобы записать туда
> свой текст

Во-первых, если программа не на дельфях и не на билдере, то никакого имени там не будет... во-вторых, чтобы поменять текст в EDIT-е или в TEdit-е, достаточно дескриптора и функции SetWindowText или сообщения WM_SETTEXT, никакие "имена" не нужны...


MDSEnterprises   (2007-09-20 17:40:00) [26]

>А ты уже выяснил, что там TEdit ?
Нет. Но  не трудно догадаться.

>Что за индексы? И зачем тебе имена?
Я конечно не профи, но в Инспекторе Объектов есть поле Name, в котором написано имя компонента (Edit1 по умолчанию), бывает что его меняют...
Как я понял мне нужно узнать его имя чтобы записать туда свой текст


DVM   (2007-09-20 17:26:00) [27]


> А ты уже выяснил, что там TEdit ?

конечно он выяснил все давно, вот программа на джаве, вот тэдиты...


homm   (2007-09-20 17:22:00) [28]

> [0] MDSEnterprises ©   (20.09.07 16:36)
> получить их индексы

Что за индексы? И зачем тебе имена?


homm   (2007-09-20 17:22:00) [29]

> [0] MDSEnterprises ©   (20.09.07 16:36)
> Как мне узнать имена всех TEdit

А ты уже выяснил, что там TEdit ?


DVM   (2007-09-20 17:20:00) [30]


> У компонентов есть такие же, вот и нужно их найти...

у компонентов их нет, они у окон есть.

EnumChildWindows() или FindWindowEx


MDSEnterprises   (2007-09-20 17:11:00) [31]

Есть индекс(идентификатор) окна получаемый функцией FindWindow(), который присваивается переменной типа hWnd. У компонентов есть такие же, вот и нужно их найти...


DVM   (2007-09-20 16:57:00) [32]


> получить их индексы

че за индексы такие?


Страницы:   1 2

Наверх

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