根据社区的意见减少和优化问题.问题的删除部分将作为单独的问题发布.
是否有任何WM_SOMETHING
或NM_SOMETHING
消息Win32 API
可以通知我有关用户更改locale
?
你看,我可以使用该消息/通知将我的程序更改locale
为当前locale
.
像这样的伪代码:
case WM_SOMETHING: // in my main window procedure
_wsetlocale( LC_ALL, L"" );
Run Code Online (Sandbox Code Playgroud)
此外,如果有这样的消息,我处理它如上面的伪代码,将其调整仅适用于主窗口的 locale
还是会还设立locale
了子对话框和控制?
通过互联网浏览后,我发现的唯一的事情是WM_INPUTLANGCHANGE
,WM_SETTINGCHANGE
和WM_INPUTLANGCHANGEREQUEST
的消息,但我从来没有使用过,不知道他们是否可以解决我的问题.
谢谢.
最好的祝福.
Windows发送一条WM_SETTINGCHANGE
消息,wParam
设置为0
,并将lParam
set设置为包含该值的字符串intl
.这WM_SETTINGCHANGE
在参数部分的文档中描述:
wParam ......
当系统因区域设置更改而发送此消息时,此参数为零.
lParam ......
当系统因区域设置更改而发送此消息时,此参数指向字符串"intl".
您的应用程序需要响应消息并在子对话框和控件中自行进行必要的更改.