Мне любопытно, как работает функциональность CodedUI Test в Visual Studio.
Я могу видеть, как он может идентифицировать нажатия клавиш и что набирается, запрашивая состояние клавиатуры, но мне трудно разобраться, как (то есть с точки зрения кода) он определяет, какая кнопка была нажата, где расположена эта кнопка, и как это отследить, если между записью и пробным запуском кнопка переместилась или случилась прокрутка с экрана. В основном меня интересуют элементы, которые мне чужды (т.е. у меня нет доступа к исходному коду и / или он работает в процессе, отличном от процесса моих программ).