Баг с WM_ACTIVATEAPP?
От: vzverev Россия  
Дата: 01.04.03 23:35
Оценка:
Пишу программу, в которой требуется отслеживать активизацию приложения.
Столкнулся со следующей ошибкой (фичей?) (под WinXP, но по-моему и в других ОС то же самое):
запускаем две программы (два Проводника, например),
кликаем в таскбаре на первой программе: программа должна свернуться, а активной становится вторая программа.
Однако сообщения для первой программы посылаются вот такие (проверяю с помощью Spy++):

1 Send WM_ACTIVATE fActive:WA_INACTIVE fMinimized:false
2 Return
3 Send WM_ACTIVATEAPP fActive:false dwThreadID:номер
4 Return
5 Post WM_SYSCOMMAND uCmdType:SC_MINIMIZE
6 Send WM_ACTIVATEAPP fActive:true dwThreadID:0
7 Return
8 Send WM_ACTIVATE fActive:WA_ACTIVE fMinimized:true hwndPrev:0
9 Return


то есть в 1-4 окошко и приложение деактивизируется (но не минимизируется!), затем идет команда минимизации (5), а вот затем приложение активизируется и окно тоже (хотя уже в свернутом состоянии). Всё, теперь пока снова не кликнуть на программе другие сообщения приходить не будут, несмотря на то что реально активна вторая программа!

Что можно сделать, чтобы добиться правильного поведения? Что посоветуете?
Re: Баг с WM_ACTIVATEAPP?
От: Аноним  
Дата: 02.04.03 06:07
Оценка:
Здравствуйте, vzverev, Вы писали:

[skip] что-то не удалоь повторить, то что Вы сказали
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.