### Preflight Checklist

- [X] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/main/CONTRIBUTING.md) for this project.
- [X] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/main/CODE_OF_CONDUCT.md) that this project adheres to.
- [X] I have searched the [issue tracker](https://www.github.com/electron/electron/issues) for a feature request that matches the one I want to file, without success.

### Problem Description

Developer cannot change caption bar theme. It remains white even if windows theme is set to dark.

### Proposed Solution

When themesource in electron is set to dark, use dwm window attributes or check an example here: [Notepad++ Source code](https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/PowerEditor/src/DarkMode)

### Alternatives Considered

Check out in Notepad++, Sublime Text, Windows Explorer, MSYS Console...

### Additional Information

_No response_
shell/browser/win/dark_mode.cc
if (_SetWindowCompositionAttribute == nullptr) {
    return;
  }
  
  
  
  
  
  
  
  base::NativeLibrary uxtheme =
      base::PinSystemLibrary(FILE_PATH_LITERAL("uxtheme.dll"));
  if (!uxtheme) {
    return;
  }
  auto ux_pei = base::win::PEImage(uxtheme);
  auto get_ux_proc_from_ordinal = [&ux_pei](int ordinal, auto* setme) {
    FARPROC proc = ux_pei.GetProcAddress(reinterpret_cast<LPCSTR>(ordinal));
    *setme = reinterpret_cast<decltype(*setme)>(proc);
  };
  
  using fnRefreshImmersiveColorPolicyState = VOID(WINAPI*)();
  fnRefreshImmersiveColorPolicyState _RefreshImmersiveColorPolicyState = {};
  get_ux_proc_from_ordinal(104, &_RefreshImmersiveColorPolicyState);
  
  using fnShouldAppsUseDarkMode = BOOL(WINAPI*)();
  fnShouldAppsUseDarkMode _ShouldAppsUseDarkMode = {};
  get_ux_proc_from_ordinal(132, &_ShouldAppsUseDarkMode);
  
  using fnAllowDarkModeForApp = BOOL(WINAPI*)(BOOL allow);