статус окна?
От: Orakel  
Дата: 27.10.06 14:00
Оценка:
как узнать статус чужого окна активное оно или нет?
Re: статус окна?
От: Vipernn  
Дата: 27.10.06 14:27
Оценка:
Здравствуйте, Orakel, Вы писали:


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



Что есть статус окна?
Re[2]: статус окна?
От: Orakel  
Дата: 27.10.06 16:20
Оценка:
Здравствуйте, 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 возвращает активное окно только для вызывающего потока.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.