Я успешно подписался на обработчик событий изменения фокуса автоматизации в приложении C#, используя код:
System.Windows.Automation.Automation.AddAutomationFocusChangedEventHandler(OnFocusChanged);
Итак, нижеприведенная функция OnFocusChanged вызывается при каждом изменении фокуса в windows, поскольку он подписывается на все события windows.
public void OnFocusChanged(object src, AutomationFocusChangedEventArgs e)
{//required code}
Как видите, этот код подписывается на все события windows. Например: если я переключаю фокус с веб-браузера на visual studio, вызывается эта функция (OnFocusChanged). Но мне не нужно подписываться на все windows события. Мне просто нужно это для конкретного c приложения. Я хочу подписаться только на события Skype. Следовательно, функция (OnFocusChanged) должна вызываться только для событий фокуса Skype (изменение фокуса внутри скайпа или из другого приложения в скайп). Как мне этого добиться? Можно ли добавить обработчик события изменения фокуса автоматизации, используя указатель c (skype)?