Переключение по Alt-TAB - великая тайна...
От: Iluhin  
Дата: 21.12.06 05:42
Оценка:
Всем привет

Имеется задача — по Alt-TAB свернуть полноэкранное DirectDraw приложение. Приложение там не совсем простое, при сворачивании приходится тормозить поток, останавливать таймер и т.д. Все это успешно делатется и приложение в итоге мирно сворачивается. Однако был замечен следующий глюк: если нажать Alt-TAB и первым отпустить TAB, то все Ок. Но если первым отпустить Alt — имеем не то чтобы зависание, но в общем картинка приложения остается висеть на экране... ПОЧЕМУ ЭТО МОЖЕТ БЫТЬ??? Т.е. какая вообще разница, что первым отпускать?

Это была первая часть Вторая начинается с того, что я решил вообще запретить переключение по Alt-TAB, ибо по Ctrl-ESC или кнопке WIN все сворачивается в любом случае. Для этого использовал соответственно:


m_HK = GlobalAddAtom("alttab"); // DWORD m_HK;
RegisterHotKey(GetSafeHwnd(), m_HK, MOD_ALT, VK_TAB);


Однако выяснилось, что этот запрет легко обоходится либо дабл-кликом на табе (!!!) при зажатом альте, либо при использовании правого альта, а не левого. Это все, конечно, очень забавно, но меня до сих пор мучает вопрос — КАК ПОЛНОСТЬЮ ОТКЛЮЧИТЬ ALT-TAB???

Буду очень признателен за любые соображения по поводу двух этих вопросов...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.