少しのコンテキスト: Sciter (純粋なwin32アプリケーション)は、すでにUWPをUIと同様にレンダリングできます。
Windows 10.1803では、設定アプレット にDark/Lightスイッチが導入されています(例: )。
質問:Win32アプリケーションでその「アプリモード」の現在のタイプを判断するにはどうすればよいですか?
さて、このオプションは通常のwin32アプリケーションに直接公開されていないようですが、HKCU
(HKLM
)\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize\AppsUseLightTheme
レジストリキーを使用して設定/取得できます。
編集:これは、c ++ 17を有効にしてビルドしている限り、すべてのWin32プロジェクトで機能することを示しています。
最新のSDKを使用している場合、これはうまくいきました。
#include <winrt/Windows.UI.ViewManagement.h>
using namespace winrt::Windows::UI::ViewManagement;
if (RUNNING_ON_WINDOWS_10) {
UISettings settings;
auto background = settings.GetColorValue(UIColorType::Background);
auto foreground = settings.GetColorValue(UIColorType::Foreground);
}