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