Я пытаюсь понять, как нарисовать пользовательскую кнопку на панели заголовков окон при использовании темы Aero в Vista или Win7. Мне нужно применить это к ряду различных приложений, не меняя исходный код, так что это будет процедура перехвата. Поскольку я не могу изменить исходный код, я не могу использовать DwmExtendFrameIntoClientArea.
Я почти уверен, что это можно сделать или, по крайней мере, хорошо подделать, потому что я видел приложение, которое может это сделать. Я внимательно изучил различные окна, пока работает это другое приложение, и не верю, что они изменяют стиль окна или расширяют фрейм в клиентской области.
В качестве теста я попытался использовать сообщение WM_NCPAINT, чтобы нарисовать что-то на панели заголовков. Когда тема Aero активна, ничего, что я нарисовал, не появится. Если я получаю DC для всего экрана, а не только для окна, то я могу «рисовать» на панели заголовков, но, конечно, это действительно отображается на экране. При таком подходе возникают всевозможные проблемы, поэтому он не работает. Если у кого-то есть хорошие идеи или даже хорошие подсказки, я буду очень признателен за помощь!