![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Повторюсь [D6, Win95/98]
Фантом © (2002-04-30 09:11:00)Я по поводу предыдущего вопроса: Как нажать на кнопку, если их на форме несколько, и хендл у них одинаковый...
- Song, я не знаю, может это и не хендл, но подразумевается, что при функциях типа при его указании все работает, это точно не заголовок, ну вот к примеру по моему мнению хендл такс_бара Shell_TrayWND, или я не прав? А у этих двух кнопок Button, может так я яснее изложил? Если нет объясните пожалуйста как поймать этот самый хендл у кнопки чужой программы...
Зараннее спасибо
Rush (2002-05-01 16:27:00) [1]ЖЕЛАТЕЛЬНОискать не по имени и классу, а по ID.
hWnd := GetWindow( hParent, GW_CHILD );
while (hWnd <> NIL) and (GetWindowLong( hWnd, GWL_ID ) <> LostID) do begin
hWnd := GetWindow( hParent, GW_NEXT );
end;
if hWnd <> NIL then DestroyWindow( hWnd ) гыгы
Другое дело если нужно найти окно другого процесса - тут желательно использовать ToolHelp API (using TlHelp32)
Фантом (2002-04-30 09:57:00) [2]Спасибо, мне кажется я получил, то что хотел...
Song (2002-04-30 09:49:00) [3]По их положению в дереве окон. Напрмер, если в приложение две кнопки, то сделая GW_CHILD для родительского, а потом GW_NEXT получите вторую кнопку. Конечно желательно искать по имени и/или классу, но как Вы правильно заметили иногда это не возможно.
Фантом (2002-04-30 09:39:00) [4]Извините, больше не буду обращаться лично...
Подскажите, пожалуйста следующее:
EditHandle:=GetWindow(FindWindow("#32770", nil),GW_CHILD);
Но "#32770"класс окна-родителя, другими словами, EditHandle, может принять значение любого элемента находящегося на форме, я прав? Если да, то как мне найти конкретный элемент?
Song (2002-04-30 09:31:00) [5]Если есть название, то через него. А если нет, то через GetWindow() - параметр GW_NEXT. Вообще, смотрите WinSight, там видны все объекты с названиями и классами.
Фантом, Вы должны знать, что личные обращения в конференцию недопускаются. Я ответил, потому что пропустил это. В следующий раз в вопросене обращайтесь лично.
Фантом (2002-04-30 09:21:00) [6]Song,
FindWindow("класс окна",nil),но если оба класса Button, как найти хендл нужной кнопки?
Song (2002-04-30 09:17:00) [7]:)
Нет. То, о чём Вы говорите это называется классом. А чтобы найти handle используйте FindWindow(), GetWindow()