Всем, доброго времени суток.
Столкнулся с такой проблемой, необходимо программно отключить в Windows «автоматический перевод на летнее время» по аналогии с аплетом «Дата и время», где убирается галочка напротив
Что сделано в программе:
1) Записываю в поле реестра SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation\\DisableAutoDaylightTimeSet значение 1.
2) Затем вызываю
::SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, NULL, NULL, SMTO_BLOCK, 10000, &dwRez)
Для тестирования в ручную меняю время на 30 октября 2011 года 2ч 58 минут,
чтобы не дожидаться дня «Х» перевода часов на осеннее время.
В результате получаю:
1) Если вызвать аплет «Дата и время», то галочки напротив «Windows «автоматический перевод на летнее время»» не стоит.
2) Но время 30 октября все равно переводится на час назад. (т.е. переход на зимнее время осуществляется).
Вопрос – что мне необходимо сделать, чтобы программно отключить ««автоматический перевод на летнее время и обратно»?
Заранее благодарен.
06.10.11 06:54: Перенесено модератором из 'C/C++' — Odi$$ey
Здравствуйте, MavTG, Вы писали:
MTG>Всем, доброго времени суток. MTG>Столкнулся с такой проблемой, необходимо программно отключить в Windows «автоматический перевод на летнее время» по аналогии с аплетом «Дата и время», где убирается галочка напротив
MTG>Что сделано в программе: MTG>1) Записываю в поле реестра SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation\\DisableAutoDaylightTimeSet значение 1. MTG>2) Затем вызываю MTG>::SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, NULL, NULL, SMTO_BLOCK, 10000, &dwRez)
MTG>Для тестирования в ручную меняю время на 30 октября 2011 года 2ч 58 минут, MTG>чтобы не дожидаться дня «Х» перевода часов на осеннее время.
MTG>В результате получаю: MTG>1) Если вызвать аплет «Дата и время», то галочки напротив «Windows «автоматический перевод на летнее время»» не стоит. MTG>2) Но время 30 октября все равно переводится на час назад. (т.е. переход на зимнее время осуществляется).
MTG>Вопрос – что мне необходимо сделать, чтобы программно отключить ««автоматический перевод на летнее время и обратно»?
MTG>Заранее благодарен.
есть подозрение, что тут надо патчить настройки таймзоны для РФ, но как это сделать не в курсе.
Здравствуйте, MavTG, Вы писали:
MTG>Всем, доброго времени суток. MTG>Столкнулся с такой проблемой, необходимо программно отключить в Windows «автоматический перевод на летнее время» по аналогии с аплетом «Дата и время», где убирается галочка напротив
А что, патч имени Медведа на Windows ещё не вышел?
Здравствуйте, rus blood, Вы писали:
RB>Здравствуйте, Kernan, Вы писали:
K>>есть подозрение, что тут надо патчить настройки таймзоны для РФ, но как это сделать не в курсе.
RB>Значения полей DaylightStart и StandardStart затираются в нули.
Спасибо. Помогло. Только еще необходимо записать 0 в DaylightBias.
И чтобы не было перевода на час назад (при летнем времени) значению поля "Bias" присвоить "ActiveTimeBias"
в \\SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation