Мне интересно работать над плагином для Keepass, менеджера паролей с открытым исходным кодом. Прямо сейчас Keepass в настоящее время определяет, какой пароль копировать/вставлять для вас на основе названия окна. Это позволяет Keepass обнаруживать текущий пароль, который вам нужен для приложений, которые не активно обновляют заголовок окна на основе текущего сайта (например, Chrome).
Как я могу пройти через другие элементы окна процесса (кнопки, метки, текстовые поля), похожие на то, как работает Spy ++? Когда вы запускаете Spy ++, вы можете наведываться на другие окна программ и получать всю информацию о различных свойствах, касающихся различных элементов управления (ярлыки, текстовые поля и т.д.). В идеале я бы хотел, чтобы мой плагин Keepass улучшал обнаружение текущего окна, прогуливаясь через активные элементы окна, пытаясь найти соответствующую учетную запись для копирования/вставки пароля.
Как я могу перемещать другие элементы окон процессов и получать значения меток и текстовых полей с помощью С#?