I really like using WinSCP. It has been my daily-driver FTP client for years now. And I really enjoy WinSCP's dark theme. However, the bright white titlebar really sticks out and it would be very fitting to use Windows 10's (undocumented, but still commonly used) so-called 'Immersive dark mode'. There are several APIs to do this. I don't know a lot about C++, but from what my research yielded, those are the methods to enable a dark title bar on Windows 10:
1st method:
BOOL WINAPI SetWindowCompositionAttribute (
HWND hwnd,
WINCOMPATTRDATA* pAttrData
);
located in user32.dll using
WCA_USEDARKMODECOLORS = 26
2nd method:
DWMAPI DwmSetWindowAttribute(
HWND hwnd,
DWORD dwAttribute,
LPCVOID pvAttribute,
DWORD cbAttribute
);
(dwmapi.dll / dwmapi.h) using the undocumented constants
DWMWA_USE_IMMERSIVE_DARK_MODE_BEFORE_20H1 = 19
(for Windows 10 versions before 2004) or
DWMWA_USE_IMMERSIVE_DARK_MODE = 20
(for Windows 10 versions 2004 and later)
There are also the functions
AllowDarkModeForWindow
(uxtheme.dll, #133) and
AllowDarkModeForApp
(uxtheme.dll, #135)
I have written a small tool that lets me enable or disable dark mode for (almost) any open window, which let me take screenshots of how WinSCP would look with a dark title bar (please see attached screenshots).
I hope that this is enough information to get you started and I look forward to hopefully seeing this feature implemented in the future!
Best regards!
Jonas