Вобщем приступил к исследованию этого вопроса, в процессе изучения которого выяснилось следующее:
Поиск на просторах интернета подсказал, что надо послать оконное сообщение WM_SETTINGCHANGE всем окнам верхнего уровня, т.е. в качестве хендла указать HWND_BROADCAST. Почитал MSDN на эту тему
MSDN писал(а):Приложения должны отправить WM_SETTINGCHANGE всем окнам верхнего уровня, когда они вносят изменения в параметры системы. (Это сообщение не может быть отправлено непосредственно в окно). Чтобы отправить сообщение WM_SETTINGCHANGE всем окнам верхнего уровня, используйте SendMessageTimeout функцию с параметром HWND установленым HWND_BROADCAST.
Кстати оказалось, что существуют два наименования одного и того же сообщения WM_SETTINGCHANGE и WM_WININICHANGE, а фактическое значение 0x001A.
Замечательно, про SendMessageTimeout тоже почитал
Казалось бы все окей, надо отправить сообщение и дело с концом, но не тут то было, сообщения я отправлял и даже Spy++ показал, что они приходят на рабочий стол, но нифига ничего не срабатывает. Где может быть подвох?MSDN писал(а): LRESULT WINAPI SendMessageTimeout (
__in HWND HWND,
__in UINT Msg,
__in WPARAM WPARAM,
__in LPARAM LPARAM,
__in UINT fuFlags,
__in UINT uTimeout,
__out_opt PDWORD_PTR lpdwResult
);