как надежные настройки отображения захвата изменен - PullRequest
0 голосов
/ 17 ноября 2009
static void Main() 
{         
    // Set the SystemEvents class to receive event notification when a user 
    // when display settings change.
    SystemEvents.DisplaySettingsChanged += new 
        EventHandler(SystemEvents_DisplaySettingsChanged);        

    // For demonstration purposes, this application sits idle waiting for events.
    Console.WriteLine("This application is waiting for system events.");
    Console.WriteLine("Press <Enter> to terminate this application.");
    Console.ReadLine();
}

 private void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
        {
   Console.WriteLine("Display setting change .");

}

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

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

Я думаю, что SystemEvents.DisplaySettingsChanged может зависеть от некоторых служб.

1 Ответ

1 голос
/ 17 ноября 2009

Класс SystemEvents использует API-интерфейсы WTSSession под прикрытием, которые полагаются на службу служб терминалов (TermService). Если ваша служба связывается с SystemEvents до запуска этой службы, она может перестать работать интересным образом. Если ваша служба зависит от TermService, инициализация SystemEvents должна работать к моменту запуска вашей службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...