| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Найти требуемый элемент в чужом окне |
| Автор: Lunatikus 17.6.2008, 12:21 |
| здравствуйте. В поисках нужных элементов чужого процесса по ступенькам FindWindowEx дошел от главного окна до элемента - TPanel. TForm512 -> MDIClient -> TOrganization -> и вот тут есть три TPanel:на одном грид,на другом кнопки,на третьем лейблы 1)как определить хэндл нужного мне?(мне нужна та,где лейблы).В принципе,хэндл я могу узнать сторонними средствами(а также PID,если это надо).Но как по хэндлу найти дочерние элементы панели,не знаю. 2)как определить текст нужного мне лейбла в панели,если их там штук 10?Теми же сторонними средствами(WinSpy) не получилось-он видит панель,но не видит лейблов на ней и не дает информацию о них. искал в ДРКБ-не нашел ничего полезного спасибо за помощь |
| Автор: Lunatikus 17.6.2008, 13:00 | ||
есть,но все же по моим данным вероятность лейблов,как элементов,гораздо выше.Винспай и кнопки на тулбаре не видит.А они 100% окна. тогда объясните,пожалуйста,что происходит в данной строке.А то я плохо понимаю что надо использовать в качестве второго параметра Enum'a
|
| Автор: Rennigth 17.6.2008, 13:20 | ||||
Ошибаешься, TToolButton это наследник от TGraphicControl, следовательно тоже не окно. Но сними легче, с ними можно виндовыми средствами управлять, а вот с лейблом просто так не получиться. Или как уже ama_kid сказал лезть в память процесса или перехват DrawText(DrawTextEx). Добавлено через 6 минут и 17 секунд
Пример:
|
| Автор: Lunatikus 17.6.2008, 13:48 |
| Rennigth, спасибо за разъяснение. лезть в память процесса мне не позволит недостаток знаний в этой области.Как,в общем-то и перехват рисования с помощью ловушек.Попробую почитать про ловушки,но сомневаюсь,что смогу разобраться.До сих пор программировал только БД на среднем уровне,так что для меня API и системное программирование-лес глухой. раз других вариантов нет,закрываю вопрос,спасибо за помощь,ребят |
| Автор: MadCoder 17.6.2008, 16:52 |
| Посмотри, может поможет: http://forum.vingrad.ru/forum/topic-217007.html |
| Автор: midavik 18.6.2008, 09:12 |
| посмотри здесь про то как вытащить текст лэйбла http://bbs.vbstreets.ru/viewtopic.php?t=35701&postdays=0&postorder=asc&start=0 |
| Автор: Lunatikus 20.6.2008, 15:50 |
| спасибо вам,разбираюсь в ресурсах |