|
Программирование >> Автоматически обновляемые приложения
Получение информации об изменениях в системе Класс systemEvents В пространстве имен Microsoft .Win32 позволяет установить обработчики 14 событий, сообщающих вам об изменениях на уровне системы. Как узнать, что пользователь изменил разрешение экрана? Класс SystemEvents из пространства имен Win32 имеет в своем составе событие DispiaySettingsChanged, С ПОМОЩЬЮ которого МОЖНО узнать, что Пользователь изменил разрешение экрана (листинг 9.32). ; Листинг 9,32. Определение смены разрешения экрана using Microsoft.Win32; public Forml() { InitiaiizeComponent(); SystemEvents.DispiaySettingsChanged += new EventHandler(DispiaySettingsChanged); void DispiaySettingsChanged(object obj, EventArgs ea) { MessageBox.Show( Вы изменили разрешение экрана ); В составе .NET Framework 2.0 появилось новое дополнительное событие DispiaySettingsChanging, которое возникает перед изменением разрешения экрана. Его использование показано в листинге 9.33. Примечание Пример работы с реестром находится в папке RegistryDemo на прилагаемом диске. SystemEvents.DisplaySettingsChanging += new EventHandler(DisplaySettingsChanging); void DisplaySettingsChanging(object obj, EventArgs ea) { MessageBox.Show( Разрешение экрана изменилось ); Изменение времени Рассмотрим еще одно событие TimeChanged (листинг 9.34), которое возникает при смене системного времени через приложение Панели управления Дата и Время. ; Листинг 9.34. Отслеживание изменения времени SystemEvents.TimeChanged += new EventHandler(SystemEvents TimeChanged); void SystemEvents TimeChanged(object sender, EventArgs e) { this.Text = Вы зачем поменяли системное время? ; Когда вы поменяете время в Панели управления и нажмете на кнопку Применить, то программа получит сообщение через событие TimeChanged. Остальные системные события изучите самостоятельно. Таюке обратите внимание, что к событиям SessionEnded и SessionEnding в .NET Framework 2.0 добавилось новое событие sessionswitch, которое происходит при переключении на другую учетную запись системы. Примечание Примеры работы с кпассом SystemEvents находятся В папке Syste-mEventsDemo на прилагаемом диске. : Листинг 9.33. Событие Display3ettingsChanging using Systems-class AdvancedConsoleDemo { static void Main() { Console.Title = C#.НародныеСоветы.Консольная программа Console.BackgroundColor = ConsoleColor.Blue; Console.ForegroundCoior = ConsoleColor.Green; Console.WriteLine( Цветной текст ); if (Console.CapsLock) Console.WriteLine( Caps Lock включен ); else Console.WriteLine( Caps Lock выключен ); Console.WindowHeight = 20; Console.WindowWidth = 40; Console.ResetColor(); Console.ReadLine() ; Примечание Пример консольного приложения находится в папке ColorConsole на прилагаемом диске. Консольные приложения в .NET Framework 2.0 появились новые методы и свойства, позволяющие работать с консолью. Теперь нет нужды использовать такие вызовы функций Windows API, как SetConsoleTitle, SetConsoleTextAttribute, GetConsoieScreenBufferinfo И др. Все стало гораздо проще: появился специальный класс Console. с помощью его свойств BackgroundColor И ForegroundCoior МОЖНО поменять цвет СИМВОЛОВ и фона, а с помощью свойства Title легко меняется заголовок консольного окна. Кроме того, появились такие интересные свойства, как CapsLock и NumberLock, которые позволяют определить состояние соответствующих индикаторов на клавиатуре. В листинге 9.35 приведен простой пример создания цветного консольного приложения. Листинг 9.35. Консольнре прил , # ;
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |