Вниз
Скачать: CL | DM;

Повторюсь   Найти похожие ветки 

← →
Фантом ©   (2002-04-30 09:11) [0]

Я по поводу предыдущего вопроса: Как нажать на кнопку, если их на форме несколько, и хендл у них одинаковый...
- Song, я не знаю, может это и не хендл, но подразумевается, что при функциях типа при его указании все работает, это точно не заголовок, ну вот к примеру по моему мнению хендл такс_бара Shell_TrayWND, или я не прав? А у этих двух кнопок Button, может так я яснее изложил? Если нет объясните пожалуйста как поймать этот самый хендл у кнопки чужой программы...
Зараннее спасибо


← →
Song ©   (2002-04-30 09:17) [1]

:)
Нет. То, о чём Вы говорите это называется классом. А чтобы найти handle используйте FindWindow(), GetWindow()


← →
Фантом ©   (2002-04-30 09:21) [2]

Song, FindWindow("класс окна",nil), но если оба класса Button, как найти хендл нужной кнопки?


← →
Song ©   (2002-04-30 09:31) [3]

Если есть название, то через него. А если нет, то через GetWindow() - параметр GW_NEXT. Вообще, смотрите WinSight, там видны все объекты с названиями и классами.

Фантом, Вы должны знать, что личные обращения в конференцию недопускаются. Я ответил, потому что пропустил это. В следующий раз в вопросе не обращайтесь лично.


← →
Фантом ©   (2002-04-30 09:39) [4]

Извините, больше не буду обращаться лично...
Подскажите, пожалуйста следующее:
EditHandle:=GetWindow(FindWindow("#32770", nil),GW_CHILD);
Но "#32770"класс окна-родителя, другими словами, EditHandle, может принять значение любого элемента находящегося на форме, я прав? Если да, то как мне найти конкретный элемент?


← →
Song ©   (2002-04-30 09:49) [5]

По их положению в дереве окон. Напрмер, если в приложение две кнопки, то сделая GW_CHILD для родительского, а потом GW_NEXT получите вторую кнопку. Конечно желательно искать по имени и/или классу, но как Вы правильно заметили иногда это не возможно.


← →
Фантом ©   (2002-04-30 09:57) [6]

Спасибо, мне кажется я получил, то что хотел...


← →
Rush   (2002-05-01 16:27) [7]

ЖЕЛАТЕЛЬНО искать не по имени и классу, а по 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)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
1-1054
Torn
2002-06-18 21:19
2002.07.01
Нестандартные окна


1-1003
Bocman
2002-06-20 14:45
2002.07.01
Немного не по теме...


1-957
chips
2002-06-19 15:42
2002.07.01
чтение файла


4-1240
Фантом
2002-04-30 09:11
2002.07.01
Повторюсь


4-1241
Alexander
2002-05-02 14:57
2002.07.01
А как, по ID или Handle изменить шрифт у StaticText?




   Наверх