Я бы хотел иметь тот же эффект, что и панель задач Windows 7.
Я посмотрел в этом вопросе:
Сохранить окно в активном состоянии
Он отлично работает, но только если у окна есть не клиентская область.
Мое окно не имеет границ, и его содержимое (просто черный фон) отображается как неактивное, независимо от того, что я делаю.
Я установил свои флаги окна так же, как панель задач Windows 7, но это не помогло.
Моя единственная мысль на данный момент - нарисовать границы и просто обрезать их, есть ли лучший способ добиться того, чего я хочу?
РЕДАКТ. 1:
Обрезка не работает, после обрезки границ содержимое окна отображается как неактивное окно.
Как, черт возьми, работает панель задач Windows 7 тогда?
EDIT2:
Добавив несколько фотографий, чтобы объяснить себя лучше, следующее содержимое окна - черный фон.
Это неактивное окно (содержимое отображается довольно темно):
Это активное окно:
Если окно не имеет клиентской области, содержимое всегда отображается как неактивное окно, однако панель задач Windows всегда отображается как активное окно и не имеет области NC (по крайней мере, согласно spy ++). Вот что я пытаюсь имитировать.
EDIT3:
Делюсь своими недавними открытиями.
Главное окно explorer.exe без рамки и имеет следующие флаги:
Я погрузился в процесс исследователя dwmapi.dll, экспортировал функции:
он использует DwmEnableBlurBehindWindow, как и я.
Я проверил недокументированные порядковые функции, и ни одна из них не связана с отображением активного стекла.
Может быть, правила DWM не применимы к проводнику?