如何检测何时对Windows颜色和外观设置对话框进行更改?

时间:2015-07-03 18:21:42

标签: winapi

我正在尝试让我的应用程序检测Windows主题何时更改,然后才能响应该更改。

要检测主题何时发生变化,我会收到一条方便的WM_THEMECHANGED消息。

我想要的是还能够确定颜色设置何时从此处变化:

enter image description here

我一直在搜索并寻找任何可能的方法来检测该对话框所做的更改,但我还没有找到任何相关信息。

所以我想知道是否可以从“窗口颜色”和“外观”对话框中检测更改。我理解这里的更改与主题更改不同,但我希望能够检测并响应这些更改。

2 个答案:

答案 0 :(得分:1)

更改这些设置后,WM_SETTINGCHANGED将广播到wParam值为SPI_SETNONCLIENTMETRICSWM_SYSCOLORCHANGE的顶级窗口,具体取决于更改的设置。

答案 1 :(得分:1)

WM_SYSCOLORCHANGE消息似乎响应对系统颜色所做的更改,其中还包括从“窗口颜色”和“外观”对话框所做的更改。