無法在Windows服務中調用此係統事件,我們如何在Windows服務中調用它?系統事件timer_changed在Windows服務中未調用
Microsoft.Win32.SystemEvents.TimeChanged += SystemEvents_TimeChanged;
void SystemEvents_TimeChanged(object sender, EventArgs e)
{
AnyMethodExample();
}
無法在Windows服務中調用此係統事件,我們如何在Windows服務中調用它?系統事件timer_changed在Windows服務中未調用
Microsoft.Win32.SystemEvents.TimeChanged += SystemEvents_TimeChanged;
void SystemEvents_TimeChanged(object sender, EventArgs e)
{
AnyMethodExample();
}
這取決於你在Windows服務中呼叫。您可以發佈完整代碼以獲得進一步支持。簡單地說,
class Program
{
static void Main(string[] args)
{
SystemEvents.TimeChanged += new EventHandler(SystemEvents_TimeChanged);
Console.ReadKey();
}
static void SystemEvents_TimeChanged(object sender, EventArgs e)
{
Console.WriteLine("TimeChanged: {0}", DateTime.Now);
}
}
注意:因爲這是一個靜態的事件,您必須在您的應用程序設置分離的事件處理程序,或內存泄漏將導致。
僅當消息泵運行時纔會引發此事件。在Windows 服務中,除非使用隱藏表單或手動啓動消息泵 ,否則不會引發此事件。
https://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.timechanged(v=vs.110).aspx
感謝這個工作對我來說 –