Re[3]: статус окна?
От: Аноним  
Дата: 27.10.06 16:56
Оценка:
Здравствуйте, Orakel, Вы писали:

O>>>как узнать статус чужого окна активное оно или нет?


V>>Что есть статус окна?


O>извиняюсь, всмысле в фокусе окно или нет.


Если чужое окно в данном случае — это окно потока, отличного от текущего, или окно, принадлежащее другому процессу, то делать следует так:
перебрать все потоки, для каждого получить окно, которое в фокусе и сравнить с hwnd чужого окна. Если равны, значит это чужое окно в фокусе.

Смотреть в стороны: CreateToolhelp32Snapshot() с флагом TH32CS_SNAPTHREAD, Thread32First(), Thread32Next(), GetGUIThreadInfo(). Последняя API как раз и вернёт окно, которое в фокусе для данного потока.

P.S. Сравнение hwnd чужого окна с GetActiveWindow() ничего не даст, т.к. эта API возвращает активное окно только для вызывающего потока.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.