получите любой элемент UI на экранном положении для любого приложения в окнах

существует ли путь на каком-либо языке программирования, возможно, с помощью Microsoft SDK, для получения на экранном положении элементов UI в окне какого-либо приложения? Если так, Вы могли дать представление с примером, возможно? Спасибо, Это причиняло боль мне в течение многих дней!

Полагайте, что это - внешнее приложение. Так, например, если бы я открыл слово MS, то мое приложение должно смочь получить расположение на экране кнопки "Bold".

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

1
задан Roger Gajraj 13 May 2010 в 20:23
поделиться

1 ответ

Чтобы получить позицию элемента управления во внешнем приложении, вы в основном должны выполнить следующие шаги:

  • Вызвать EnumWindows , который перечислит все окна верхнего уровня
  • Для окна верхнего уровня вы интересует вызов EnumChildWindows
  • Вызов GetWindowRect для дочернего окна (элемента управления), положение которого вы хотите получить

Детали для этого зависят от того, чего вы конкретно пытаетесь достичь.

В качестве альтернативы вы можете использовать Windows Automation API ( http://msdn.microsoft.com/en-us/library/dd561932 (VS.85) .aspx ) с GetCurrentPorpertyValue (UIA_BoundingRectanglePropertyId , результат) .

Я не знаю, есть ли управляемые оболочки для этих функций, но вы можете вернуться к P / Invoke.

Также ознакомьтесь с инструментом UI Spy, который поставляется с Windows SDK ( http://msdn.microsoft.com/en-us/library/ms727247.aspx ).

2
ответ дан 3 September 2019 в 00:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: