diff --git a/shell/common/color_util.cc b/shell/common/color_util.cc index c0b3f68367d5..80c998b86b27 100644 --- a/shell/common/color_util.cc +++ b/shell/common/color_util.cc @@ -12,6 +12,8 @@ #if BUILDFLAG(IS_WIN) #include + +#include "base/win/registry.h" #endif namespace { @@ -68,12 +70,18 @@ std::string ToRGBAHex(SkColor color, bool include_hash) { #if BUILDFLAG(IS_WIN) std::optional GetSystemAccentColor() { - DWORD color = 0; - BOOL opaque = FALSE; - - if (FAILED(DwmGetColorizationColor(&color, &opaque))) + base::win::RegKey key; + if (key.Open(HKEY_CURRENT_USER, L"SOFTWARE\\Microsoft\\Windows\\DWM", + KEY_READ) != ERROR_SUCCESS) { return std::nullopt; - return color; + } + + DWORD accent_color = 0; + if (key.ReadValueDW(L"AccentColor", &accent_color) != ERROR_SUCCESS) { + return std::nullopt; + } + + return accent_color; } #endif