Существуют различные способы, однако в классе AutomationElement вы можете проверить элемент «Текущий» и использовать комбинацию способов для определения элемента.Следующий пример был взят из другого решения См. Здесь
using System.Window.Automation;
private AutomationElement element;
System.Drawing.Point mouse = System.Windows.Forms.Cursor.Position;
this.element = AutomationElement.FromPoint(new System.Windows.Point(mouse.X, mouse.Y));
Отсюда вы можете получить доступ к элементу. Текущий и извлечь такие вещи, как Name, ProcessId.
Хотя это может быть то, что вы уже поняли, следующий код должен помочь вам получить имя класса текущего элемента пользовательского интерфейса, однако он НЕ является частью класса AutomationElement и является ловушкой Win32.
[DllImport("User32.dll")]
public static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);
private string GetClassName(IntPtr hWnd)
{
StringBuilder sb = new StringBuilder(256);
this.GetClassName(hWnd, sb, 256);
return sb.ToString();
}
Надеюсь, это поможет, хотя бы для начала;)
RH