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

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

Как узнать хэндл другой программы? [D5, WinME]


MARcoDEN ©   (2002-06-10 20:28:00) 

Подскажите пожалуйста!


Almaz   (2002-06-13 02:26:00) [1]


> посоветуйте альтернативу WinSight"a, а то что-то глючноват
> он больно...

Насчет глючноват - это точно :( В качестве хорошей альтернативы посоветую Microsoft Spy++ из Visual Studio.

Удачи.


Almaz   (2002-06-13 02:13:00) [2]


> MARcoDEN © (11.06.02 20:35)
> Но ведь WinSight отображает класс в виде hex-значения (типа
> 00000F04).

Класс окна отображается WinSight в фигурных скобках. Hex значения - это handle окна для процесса WinSignt.
Например:
Popup 00001456h {Progman} EXPLORER.EXE (0,0) - (1024,768) "Program Manager"

Так вот:
Progman- имя класса окна
00001456h- handle окна для процесса WinSight
EXPLORER.EXE- имя модуля, породившего окно
(0,0) - (1024,768)- координаты окна
Program Manager- заголовок окна

Теперь пишите:
Handle := FindWindow("Progman", nil);

А для элементов окна - Button, Listbox etc. нужно сначала получить handle родительского окна, а затем использовать функцию GetWindow.

Удачи.


Song   (2002-06-12 10:18:00) [3]

>>Калсс можно узнать при помощи GetClassName()

:))

Дык для использовании этой ф-ии нужно знать дискриптор. (А какой у автора вопрос-то ? )
В Вашем случае это получается вечный круговорот! :)


Polevi   (2002-06-12 09:25:00) [4]

FindWindowEx


MARcoDEN   (2002-06-12 09:03:00) [5]

А что насчет альтернативы WinSight"a?


hooky-mars   (2002-06-11 21:17:00) [6]


> Song © (11.06.02 08:37)
> В WinSight"е можно посмотреть.
> Если не знаете класса, можно поискать по названию.

Калсс можно узнать при помощи GetClassName()


MARcoDEN   (2002-06-11 20:35:00) [7]

Но ведь WinSight отображает класс в виде hex-значения (типа 00000F04). Так как узнать hwnd того же Listbox"a в программе? Кстати, посоветуйте альтернативу WinSight"a, а то что-то глючноват он больно...


Song   (2002-06-11 08:37:00) [8]

В WinSight"е можно посмотреть.
Если не знаете класса, можно поискать по названию.


MARcoDEN   (2002-06-11 07:25:00) [9]

А как узнать класс?


hooky-mars   (2002-06-10 20:31:00) [10]

FindWindow(), если знеешь класс и имя, или можно перебрать все(nil)


Наверх

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