Программирование >>  Автоматически обновляемые приложения 

1 ... 99 100 101 [ 102 ] 103 104 105 ... 170


Получение информации об изменениях в системе

Класс 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. Консольнре прил , # ;



1 ... 99 100 101 [ 102 ] 103 104 105 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика