"У меня есть идентификатор потока. Как мне получить
соответствующее окно? "
Вы можете использовать EnumThreadWindows
функция, чтобы получить все окна на
нить.
"Да, я знаю о EnumThreadWindows,
но как мне получить окно, которое я
хотите? "
Ну, ты не сказал, что хотел
еще.
«Я хочу окно, которое соответствует
нить. "
Но какой? Как вы решите
среди всех окон?
«Вот о чем я вас спрашиваю!»
Но вы еще не описали, что вы
хочу.
"Я хочу окно, соответствующее
нить. Почему ты не отвечаешь на мой
вопрос? "
Обратите внимание, что говорят: «Я ищу
неиспользуемое окно верхнего уровня "является
шаг вперед, но это все еще не
однозначно идентифицировать окно. Там может
быть множеством неиспользуемых окон верхнего уровня
в процессе. Например, проводник
как правило, имеет много верхнего уровня
неизвестные окна. Там рабочий стол,
панель задач, ваши открытые папки Windows,
и имущественные ведомости. Если вы попросите
«Неизвестное окно верхнего уровня
Исследователь, какой вы хотите?
Возможно, люди получают идею
что есть способ однозначно
указать "окно" для процесса
потому что System.Diagnostics.Process
Объект имеет свойство, называемое
MainWindowHandle. Документация
для этого свойства ничего не делает
чтобы рассеять понятие, либо. я имею
понятия не имею, как это свойство решает
среди нескольких топ-уровня, не владеющих
окна.