Регистрация службы C # для systemevent.Timechange () - PullRequest
0 голосов
/ 12 декабря 2011

Я написал службу ac #, которая регистрируется в systemevent.Timechange () с помощью функции, которая вызывает OntimeChange () (как упомянуто в MSDN http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.aspx). Запуск этого кода в Visual Studio все работает нормально (в режиме отладки или выпуска)), но когда я запустил службу, я увидел, что функция OntimeChange () не вызывается (я добавил в журнал распечатки этой функции и увидел, что в журнал ничего не печатается)

может кто-то помочь

Ответы [ 2 ]

1 голос
/ 12 декабря 2011

В разделе примечаний события SystemEvents.TimeChanged вы можете прочитать следующий текст:

Примечание

Это событиеПоднимается только если работает сообщение насоса.В службе Windows, если не используется скрытая форма или насос сообщений запущен вручную, это событие не будет вызываться.Пример кода, который показывает, как обрабатывать системные события с помощью скрытой формы в службе Windows, см. В классе SystemEvents.

Итак, вам нужна скрытая форма для получения этих событий воказание услуг.См. Пример 2 , указанный на странице, которую вы указали в своем вопросе, о том, как это сделать.

0 голосов
/ 08 января 2013

использование AppDomain.CurrentDomain.BaseDirectory

...