Относительно вашего последующего вопроса о том, как получить элемент управления с фокусом, вы можете получить HWND сфокусированного элемента управления, используя GetGUIThreadInfo . Обратите внимание, что вы передаете этот поток, который владеет внешним окном, а не само внешнее окно (функция docs говорит вам, как получить идентификатор потока из дескриптора внешнего окна). Сфокусированный HWND возвращается через элемент GUITHREADINFO.hwndFocus
.
Обратите внимание, что в общем случае вы не можете добиться большего успеха, чем HWND, поскольку окно переднего плана не обязательно является приложением .NET. Например, если внешнее окно является окном WPF, то не сообщит, какой элемент управления WPF в этом окне имеет фокус, поскольку элементы управления WPF не имеют HWND.