Использовать AutomationPeers.
Вот статья MSDN с большим количеством деталей:
http://msdn.microsoft.com/en-us/library/ms752331.aspx
Добавить ссылки на:
- UIAutomationClient
- UIAutomationClientsideProviders
- UIAutomationProvider
- UIAutomationTypes
А вот небольшой фрагмент кода на C # о том, как получить AutomationId из того, что в данный момент находится в фокусе:
var id = AutomationElement.FocusedElement.Current.AutomationId;
this.txt.Text = id;
Вы можете перемещаться по всему дереву окна и управлять всем пользовательским интерфейсом, используя узлы автоматизации. Вот как приложения с расширенными возможностями взаимодействуют с приложениями в Windows. Это также один из способов, с помощью которого приложения для автоматического тестирования пользовательского интерфейса могут это делать.