Обработка изменения системного времени в приложении Windows

У меня есть приложение Windows, и мне нужно любое событие, когда пользователь изменяет время этой системы, в которой это приложение Windows открыто или запущено.

Как я могу получить это измененное время или конкретное время или любое событие системного изменения времени / даты?


person k-s    schedule 14.08.2013    source источник


Ответы (2)


Вы можете подписаться на событие SystemEvents.TimeChanged.

Чтобы подписаться на указанное выше событие, сделайте следующее:

1.Создайте TimeChanged EventHander.

    private void time_Changed(object sender, EventArgs e)
    {
       MessageBox.Show("Time Changed");  
    }

2. Добавьте указанный выше обработчик события к событию SystemEvents.TimeChanged.

 SystemEvents.TimeChanged += time_Changed;
person Akash KC    schedule 14.08.2013
comment
Как я могу использовать этот метод? Я немного запутался здесь, так как новичок в приложении Windows. - person k-s; 14.08.2013
comment
Да, но убедитесь, что работает помпа сообщений. Это не будет работать в консольном приложении, если вы не создадите насос сообщений. См. Пример stackoverflow.com/a/764904/56778. - person Jim Mischel; 14.08.2013
comment
Я написал свой код, но окно сообщения не запускается при изменении системного времени ... См. Код ниже. общедоступный частичный класс Form1: Форма {общедоступное статическое событие EventHandler TimeChanged; общедоступная Form1 () {InitializeComponent (); TimeChanged + = Form1_TimeChanged; } protected void Form1_TimeChanged (объект-отправитель, EventArgs e) {MessageBox.Show (DateTime.Now.ToString ()); }} - person k-s; 14.08.2013
comment
Большое спасибо за ваш вклад. - person k-s; 14.08.2013

...or any event of system change of time/date? SystemEvents.TimeChanged будет активировать только «когда пользователь изменяет время на системных часах».

Изменения системного времени также могут происходить из-за корректировок системного времени, инициированных системой или пользователем. Вы можете использовать функцию GetSystemTimeAdjustment для захвата таких настроек системного времени.

person Arno    schedule 14.08.2013