using System.Runtime.InteropServices; using System.Windows; using System.Windows.Interop; namespace ClaudeDo.Installer.Core; public static class DarkTitleBar { [DllImport("dwmapi.dll", PreserveSig = true)] private static extern int DwmSetWindowAttribute(IntPtr hwnd, int attr, ref int attrValue, int attrSize); private const int DWMWA_USE_IMMERSIVE_DARK_MODE = 20; public static void Apply(Window window) { if (window.IsLoaded) SetDarkMode(window); else window.SourceInitialized += (_, _) => SetDarkMode(window); } private static void SetDarkMode(Window window) { var hwnd = new WindowInteropHelper(window).Handle; if (hwnd == IntPtr.Zero) return; int value = 1; DwmSetWindowAttribute(hwnd, DWMWA_USE_IMMERSIVE_DARK_MODE, ref value, sizeof(int)); } }