Есть ряд программных продуктов, которые выводят модальный диалог с запросом активации поверх основного окна программы, тем самым блокируя работу с приложением. Так ведёт себя, например, всем известный офисный пакет, но речь сейчас не о нем. Довелось мне столкнуться с одной узкоспециализированной программой: При извлечении ключа защиты выдает она неприятное окно, мешающее дальнейшей работе. Пришла в голову идея - а что будет, если данное окно "отвязать" от основного окна программы? Например, так: FindWindow() находим нужный нам диалог, через SetParent() делаем его дочерним какого-нибудь окна (например, специально созданного для этого нашим приложением), а далее через EnableWindow() оживляем окна прежнего "родителя". Код простой до ужаса: WM_CHANGEUISTATE помогает перерисовать состояние элементов окна, в частности, клавиатурных акселераторов, которые были скрыты при выводе "нехорошего" диалога. Можно обойтись и без этого. После того, как окно "утащили" к нам в приложение - программа рабо