Уникальная идентификация элементов управления - PullRequest
0 голосов
/ 01 марта 2010

Есть ли способ уникальной идентификации элементов управления с помощью Accessibility? Как только элемент управления будет идентифицирован - я смогу получить его текущую позицию на экране (прямоугольник). Попытался сделать это с IAccIdentity, но не знаю, что делать с той строкой байтов, которую он возвращает - есть ли способ извлечь из него необходимую информацию (или получить IAccessible с помощью этой строки)

Спасибо.

Ответы [ 2 ]

1 голос
/ 04 марта 2010

Предполагается, что эта идентичность будет действовать в течение нескольких вызовов процесса? Для жизненного цикла элемента управления его HWND является уникальным идентификатором.

OTOH, элементы управления можно перемещать по экрану, как любое дочернее окно - либо перемещать относительно родителя, либо родитель может перемещаться, забирая ребенка с ним. Их также можно создавать и уничтожать динамически, хотя это встречается реже.

0 голосов
/ 04 марта 2010

Похоже, что единственный способ достичь этого - создать внутренний кеш интерфейсов IAccessible.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...