Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 165

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 159 160 161 162 163 164 < 165 > 166 167 168 169 170 171 .. 320 >> Следующая

Рис. 8.37. Сохранение текущих настроек приложения в HKEYJTURRENT USER
Для считывания информации из системного реестра используется тот же самый тип ReglstryKey. Давайте изменим конструктор нашей формы таким образом, чтобы он считывал значения, установленные в реестре, и в зависимости от этого устанавливал цвет фона и размер шрифта. Таким образом, приложение запустится с теми настройками, которые были сохранены во время предыдущего сеанса работы (обратите внимание на то, как используется метод Regi stryKey. GetValueO):
public MainFormO
і
Il Открываем параметр реестра ReglstryKey regKey = Registry.CurrentUser;
regKey = regKey.CreateSubKey("Software\\Intertech\\Chapter8App"):
Il Считываем значения и присваиваем их соответствующим переменным currFontSize = (int)regKey.GetValue("CurrSize". currFontSize): string с = (string)regKey.GetValue("CurrColor". currCol or. Name);
Взаимодействие с журналом событий Windows 2000 403
= Сэ"!:;г."гта1|'чй.:й: С;; .• . IdCo ISr = currColor;
\
Наверное, у вас уже созрел вопрос: а что будет, если записей в реестре, к кот< >рі.:\і обращается наша программа, не существует? Такой вариант :нь даже возможен; предположим, что пользователь запустил программу в первый раз, когда еще никаких записей в реестре просто нет. В этой ситуации, как следует из логики нашей программы, объект Regi stryKey просто не сможет считать нужные ему значения из реестра!
Однако все не так страшно. Для метода GetVal і ё() предусмотрен второй необязательный параметр (используемый в нашем примере), который будет подставля і ы. т в том случае, если запись в реестре не обнаружена. В нашем случае мы текущие значения переменных a ze и or. Конечно же, в форме долж-
на быть предусмотрена установка исходных значений этих переменных, например:
public class MainForm : Form {
Color currColor = Color.MTstyRose;
private int currFontSize = TbeFontSize.Norrr.al;
Последнее, что мы должны сделать, — внести изменения во метод BuilrJMenuSystemO. Цель изменений - сделать так, чтобы при выборе шрифт, і против соответствующего пункта в контекстном меню устанавливался флажок. Как мы помним, сейчас у нас флажок автоматически устанавливается против пункта Normal. Поскольку ситуация изменилась, флажокдолженус ливаться в зависимости от реального положения дел. Выглядеть это может так:
private void {
Il Ориентируемся на текущее значение currFontSize
If(currFontSize = = TheFontSize.Huge)
currentChecketiltem = checkedHuge;
else if(currFontSize = = TheFontSize.Normal) currentCheckedltem = checkedltormal;
else
currentCheckedltem = checkedTiny;
ajrrer;lCiiPckedl№B.Cfiscka<j =-- true;
Взаимодействие с журналом событий Windows 2000
В Windows 2000 предусмотрена запись всех важнейших событий, операционной системе, в журналы событий (Event Logs). Просмотреть информацию в журнале событий можно при помощи встраиваемой консоли (snap -in) Event Viewer в'Microsoft Management Console (MMC). Как минимум, в системе ведется
404 Глава 8 . Окна становятся лучше: введение в Windows.Forms
три отдельных журнала: Application (журнал событий приложений), Security (журнал событий безопасности) и System (журнал событий системы). Журнал событий представляет важный источник информации о работе оборудования, операционной системы и установленных на компьютере приложений. Кроме того, при номопш журнала событий безопасности мы можем получать информацию для контроля — кто какие действия производил на этом компьютере, к каким ресурсам обращался и т. п. Окно Viewer представлено на рис. 8.38.
I fa I wilt Viewer
j fiction i.ew ?=
Tree I Application Log 2,168 evont(s)
(".| Event Viewer (I nr.jl і Луре Date Time
¦ IfI Security Log Щ System Log (^Information 8/31/2000 3:14:32 PM Ci Conformation 11/16/2000 12:04:38... Ci ^Information 11/15/2000 12:00:52... Ci Ф Information 11/14/2000 12:01:52... Ci ФInformation 11/13/2000 12:02:00 ... Ci
H ищи
Рис. 8.38. Event Viewer в Windows 2000
Конечно же, в .МЕТнредусмитрснытипы, при помощи которых можно взаимодействовать с журналами событий программным образом. Эти типы, которые определены в пространстве имен System.Q і agnostics, представлены в табл. 8.27.
Таблица 8.27. Типы System.Diagnostics, предназначенные для работы с журналами событий
Тип Назначение
EventLog Это — основной класс для организации взаимодействия
с журналом событий Windows 2000
EventLog,EventLogEntryCollection Коллекция для хранения типов EventLog Entry
EventLog Entry Представляет отдельную запись в журнале событий
EventLog Names Этот закрытый тип обеспечивает возможность указать, с каким
именно журналом событий (приложений, системы или безопасности) будет работать пользователь
Члены класса EventLog позволяют записывать события во все три журнала, производить очистку журнала, считывать данные и реагировать на появление в журнале событий новых записей. Если есть необходимость, мы можем даже создать свой новый журнал событий Windows 2000 (в дополнение к трем обязательным). Наиболее важные члены класса EventLog представлены в табл. 8.28.
Предыдущая << 1 .. 159 160 161 162 163 164 < 165 > 166 167 168 169 170 171 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100