1 (изменено: CruKriy7, 2021-11-30 21:50:13)

Тема: AHK: механизмы работы с окном программы со списком checkbox

Привет!

Не хочу нарушать правило "Одна тема - один вопрос". Просто есть очень нубские вопросы, поэтому они комплексные, но в целом по одной теме.  Направьте пожалуйста что почитать и с какой стороны подойти к решению проблемы. Не хватает общих знаний, а сроки поджимают.

Есть сторонняя программа с GUI-интерфейсом под Windows 7, которая по-сути клиент для запросов к БД и показа ответов. Написана на .NET (скорее всего C#), если это важно.
В интерфейсе есть окно со списком из разных строк, для каждой строки есть свой 1 чекбокс (checkbox). Задача в том, чтобы исходя из значений некоторых полей строки проставить чекбокс либо снять его.

Я правильно понимаю, что GUI в документации (https://www.autohotkey.com/docs/commands/Gui.htm) - это только про Gui, создаваемый самим AHK? Для контроля с помощью WinAPI не-AHK программ мне нужно читать про Control (https://www.autohotkey.com/docs/commands/Control.htm)?

Если я правильно читал/понял, то возможно 2 пути решения задачи:
1) возможно, что выдаваемый в окне список управляется через WinAPI (как проверить?), если так то этот путь проще, но не понятно что почитать и как проверять элементы на возможность контроля. Внутри окна для перемещения по списку (строкам) работают клавиши вниз/вверх, Tab, но почему-то не работает пробел для простановки/снятия чекбокса. При таких обстоятельствах возможно ли проставить чекбокс через WinAPI (как это проверить)?
2) если через WinAPI управлять нельзя, то придётся как-то создавать скрипт опираясь на ImageSearch и используя какую-то библиотеку для OCR значений в полях строки. Есть ли уже какие-то готовые библиотеки, чтобы "парсить" данные с экрана структурно исходя из визуальных границ элементов? Что использовать для быстрого OCR текста, дат, чисел? Текст четкий.

2

Re: AHK: механизмы работы с окном программы со списком checkbox

CruKriy7, добро пожаловать на форум! Ознакомьтесь, пожалуйста, с Правилами, отредактируйте свой пост. Обратите внимание на  оформление ссылок.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: механизмы работы с окном программы со списком checkbox

teadrinker
Ознакомился. Ссылки поправил.

4

Re: AHK: механизмы работы с окном программы со списком checkbox

Вроде 'Control' само собой просится для этого.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

5

Re: AHK: механизмы работы с окном программы со списком checkbox

Если элементы управления определяются с помощью WindowSpy.ahk, тогда с ними можно взаимодействовать с помощью Control. Если нет, значит взаимодействовать с ними напрямую нельзя, но можно попробовать с помощью IAccessible (ищите примеры на нашем и англоязычном форумах).

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: механизмы работы с окном программы со списком checkbox

Спасибо!