Название: Win API [Решено] Отправлено: sergek от Июль 19, 2018, 12:23 Жаль, что нет "вопросы идиотов")) У меня вопрос из этого раздела - скажите, GUI в windows в Qt сделан на основе win api? Можно ли использовать win api для доступа к элементами GUI программ qt?
Название: Re: Win API Отправлено: kuzulis от Июль 19, 2018, 13:09 > GUI в windows в Qt сделан на основе win api?
угу > Можно ли использовать win api для доступа к элементами GUI программ qt? Вроде нет, т.к. все виджеты отрисовываются самим Qt, и не являются "нативными" объектами. Можно найти только хендл самого окна приложения, но вот хендлы его контролов/виджетов не найдешь, их нет :). PS: Хотя хз, никогда не задавался таким вопросом. Название: Re: Win API Отправлено: Igors от Июль 19, 2018, 13:49 Во всяком случае нативные хендлы создаются при вызове QWidget::winId(), хотя иногда глючат размеры, лучше до show. Получать таким образом нужное HWND можно, причем не только для окон верхнего уровня.
Название: Re: Win API Отправлено: sergek от Июль 19, 2018, 14:31 Ок, спасибо. Действительно, получить окно у меня получалось, а самый простой lineedit - нет.
Закроем тему. Название: Re: Win API [Решено] Отправлено: Igors от Июль 19, 2018, 14:58 Да простят мою навязчивость, но я ведь помню что работало
Код: #include <QtWidgets> Название: Re: Win API [Решено] Отправлено: sergek от Июль 19, 2018, 16:02 Речь немного о другом - нужно прочитать содержимое элементов GUI программы, написанной на Qt. Я раньше делал нечто подобное - отыскивается дескриптор главного окна программы, потом перебираются дочерние дескрипторы и т.д. Это получается со многими программами, например, попробовал сейчас winscp, putty (во вложении), с проводником. А для программ qt отрисовывается только главное окно и все.
Вообще-то это не мне нужно, а мне сильно углубляться в тему не хочется. Так, попробовал старые наработки - не получилось, и ладно) Спасибо, коллеги. |