我们的应用程序是使用 C++ (Visual Studio) 开发的 Windows 原生 64 位应用程序,带有 RogueWave 的 Stingray 库,它本身使用 MFC 作为 UI。
在应用程序中,日期显示在不同的地方(网格、对话框控件等)。由于它是一个复杂的业务应用程序,我们在内部处理日期格式选择:用户能够配置正在使用的日期格式,我们通过应用程序全局语言环境在启动时以及用户更改它时以编程方式对其进行设置。
为此,我们使用 _tsetlocale(LC_ALL, strLocalLng) 和 Stingray RWLocaleSnapshot 功能。
现在发生的情况是,当用户打开 Windows 10 日期/时间设置并修改其日期格式时,我们应用程序的某些对话框控件立即更改为以新格式查看日期!看起来很酷的功能很难处理。我们不希望 Windows 设置干扰用户在应用程序中设置的配置。
问题是我什至不知道要寻找什么(谷歌)。
当用户修改 Windows 设置时,影响和设置我的应用程序区域设置并立即转发到对话框控件的机制是什么?
我该如何预防?