Программное отключение перевода времени
От: MavTG  
Дата: 05.10.11 13:58
Оценка:
Всем, доброго времени суток.
Столкнулся с такой проблемой, необходимо программно отключить в 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 октября все равно переводится на час назад. (т.е. переход на зимнее время осуществляется).

Вопрос – что мне необходимо сделать, чтобы программно отключить ««автоматический перевод на летнее время и обратно»?

Заранее благодарен.
Re: Программное отключение перевода времени
От: rus blood Россия  
Дата: 05.10.11 14:11
Оценка:
Здравствуйте, MavTG, Вы писали:

MTG>Заранее благодарен.


Из MSDN про TIME_ZONE_INFORMATION

....
StandardDate
....
If the time zone does not support daylight saving time or if the caller needs to disable daylight saving time, the wMonth member in the SYSTEMTIME structure must be zero.
....

Имею скафандр — готов путешествовать!
Re[2]: Программное отключение перевода времени
От: MavTG  
Дата: 07.10.11 07:46
Оценка:
Здравствуйте, rus blood, Вы писали:

RB>Здравствуйте, MavTG, Вы писали:


MTG>>Заранее благодарен.


RB>Из MSDN про TIME_ZONE_INFORMATION

RB>

RB>....
RB>StandardDate
RB>....
RB>If the time zone does not support daylight saving time or if the caller needs to disable daylight saving time, the wMonth member in the SYSTEMTIME structure must be zero.
RB>....



Добрый день. Это не помогало.
Помог Ваш совет "Значения полей DaylightStart и StandardStart затираются в нули."
Еще раз спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.