До тех пор, пока вы готовы перерисовать все содержимое строки заголовка, вы можете использовать метод DwmExtendFrameIntoClientArea API-интерфейса DWM, который включает установку окна без заголовка, позволяя DWM рисовать свое стекло в полезной области. создать новое пространство, которое выглядит как заголовок заголовка, но на самом деле находится в вашей клиентской области, так что вы можете рисовать на нем кнопки.
Недостатком этого метода является то, что вам придется делать стандартные кнопки, если вы хотите их. Свернуть, Развернуть и Закрыть не проблема для воссоздания (хотя вы обнаружите, что кнопка максимизации - это кнопка переключения с внешним видом, основанным на состоянии), но вы можете столкнуться с проблемой при воссоздании кнопки в верхнем левом углу. Конечно, вам также придется переписать свой заголовок, но я не могу представить, что у вас возникнут какие-либо проблемы с этим.
Что касается чтения данных текущей темы, чтобы перестроить ваши кнопки как их, извините, но я ничего об этом не знаю. Я бы предложил использовать прозрачность при построении кнопок на заголовке и использовать полупрозрачные эффекты свечения и так далее. Таким образом, вы сможете сохранить фон стекла и просто изменить его внешний вид, наложив полупрозрачный цвет. Кроме того, если вы сделаете это таким образом, то смещенные зеркальные блики на стекле будут двигаться естественным образом, тогда как, если вы просто получили цвета их тем, вы обнаружите, что либо вы не получили доступа к их отражениям, либо они заново воссоздали внутри пространство ваших кнопок. Конечно, только мои два цента - если вы можете найти способ сделать вашу тему цвета и так далее, во что бы то ни стало.
Однако есть одно предостережение - есть еще один поток StackOverflow (/2016969/net-framework-4-0-i-risovanie-na-vypuske-aero-glass#2016971), который описывает проблему с методом DWM API DwmExtendFrameIntoClientArea, поэтому на вашем месте я бы прочитал это, прежде чем пытаться найти решение.