Здравствуйте, Vipernn, Вы писали:
V>Здравствуйте, Orakel, Вы писали:
O>>как узнать статус чужого окна активное оно или нет?
V>Что есть статус окна?
извиняюсь, всмысле в фокусе окно или нет.
Re[3]: статус окна?
От:
Аноним
Дата:
27.10.06 16:56
Оценка:
Здравствуйте, Orakel, Вы писали:
O>>>как узнать статус чужого окна активное оно или нет?
V>>Что есть статус окна?
O>извиняюсь, всмысле в фокусе окно или нет.
Если чужое окно в данном случае — это окно потока, отличного от текущего, или окно, принадлежащее другому процессу, то делать следует так:
перебрать все потоки, для каждого получить окно, которое в фокусе и сравнить с hwnd чужого окна. Если равны, значит это чужое окно в фокусе.
Смотреть в стороны: CreateToolhelp32Snapshot() с флагом TH32CS_SNAPTHREAD, Thread32First(), Thread32Next(), GetGUIThreadInfo(). Последняя API как раз и вернёт окно, которое в фокусе для данного потока.
P.S. Сравнение hwnd чужого окна с GetActiveWindow() ничего не даст, т.к. эта API возвращает активное окно только для вызывающего потока.