Как предотвратить изменение языкового стандарта приложения при изменении пользователем даты / времени в Windows (C ++, собственное приложение Windows) - PullRequest
0 голосов
/ 25 февраля 2019

Наше приложение представляет собой собственное 64-разрядное приложение для Windows, разработанное на C ++ (Visual Studio) с библиотекой RogueWave Stingray, которое само использует MFC для пользовательского интерфейса.

В приложении даты отображаются в разных местах (сетках,диалоговое окно управления и т. д.).Поскольку это сложное бизнес-приложение, мы обрабатываем выбор формата даты внутренне: пользователь может настроить используемый формат даты и установить его программно через глобальную локаль приложения при запуске и всякий раз, когда пользователь изменяет его.

Для этого мы используем _tsetlocale (LC_ALL, strLocalLng) и функцию Stingray RWLocaleSnapshot.

Что происходит, когда пользователь открывает настройки даты / времени в Windows 10 и изменяет формат даты, а затем сразу несколькоизменения в диалоговом окне нашего приложения для просмотра даты в новом формате!То, что кажется классной функцией, трудно справиться.Мы не хотим, чтобы настройки Windows влияли на конфигурацию, заданную пользователем в приложении.

Дело в том, что я даже не знаю, что искать (Google).

Чтоэто механизм, который влияет и устанавливает язык моих приложений и сразу же перенаправляется в диалоговые элементы управления, когда пользователь изменяет настройки Windows?

И как я могу предотвратить это?

...