|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Порядок выполнения работы. 1. Использование утилит Regedit и Regedt321. Использование утилит Regedit и Regedt32. Для работы используйте ключ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run. В данном ключе хранятся параметры, отвечающие за автозапуск программ при входе пользователя в систему. 1) Запустите Regedit. Найдите ключ HKEY_CURRENT_USER\Software\ Microsoft\Windows\CurrentVersion\Run. 2) Добавьте строковый параметр calculator со значением calc.exe (рис. 4).
3) Выйдете из системы и зайдите снова. При входе должен автоматически запуститься калькулятор. 4) Зайдите в редактор реестра и удалите этот параметр. Снова выйдете из системы и зайдите снова. Теперь калькулятор не запускается. 5) Запустите программу Regedt32. Найдите тот же ключ. 6)Установите «Гостям» ограничение на доступ к данному ключу (рис. 5).
Теперь если Вы войдёте в систему под именем «Гость», то не сможете редактировать данный ключ реестра. 2. Использование командной строки для работы с реестром. 1) Запустите командную строку. 2) Прочитайте встроенную справку по команде REG. 3) С помощью данной команды просмотрите содержимое ключа HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run. 4) Добавьте с помощью данной команды параметр calculator со значением calc.exe. 5) С помощью программы regedit проверьте, появился ли новый параметр в списке. 6) Теперь удалите созданный ключ с помощью команды REG. 7) Сохраните резервную копию раздела HKEY_CURRENT_USER\ Software\ Microsoft\Windows\CurrentVersion\Run с помощью команды REG. 8) Удалите все параметры раздела. 9) Теперь восстановите архивную копию из файла.
3. Средства Delphi для доступа к реестру Windows 1) Создайте новый проект Delphi. На форму поместите 4 кнопки, 2 редактора текста, 1 редактор списка и 3 надписи, как показано на рис. 6.
В редакторе списка (ListBox1) будут отображаться все параметры раздела HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run после нажатия кнопки «Показать» (Button1). Выбор параметра будет производиться двойным щелчком по элементу из списка (onDblClick). Выбранный параметр будет отображаться в окне Edit1, а его значение – в Edit2. Кнопка «Изменить» (Button2) отвечает за изменение имени или значения выбранного параметра. Кнопки «Добавить» и «Удалить» - за добавление нового параметра и удаление выбранного соответственно. 2) Подключите модуль TRegistry. В качестве глобальных переменных укажите следующие: var rt:TRegistry; const ROOT = HKEY_CURRENT_USER; KEY = '\software\microsoft\windows\currentversion\run';
3) Для отображения списка параметров используем следующую процедуру: procedure TForm1.Button1Click(Sender: TObject); Begin rt:=tregistry.Create; //создание экземпляра класса реестра rt.RootKey:=ROOT; //указание корневого раздела if rt.OpenKey(KEY,false) then //если удаётся открыть ключ Begin rt.GetValueNames(ListBox1.Items); //записать список параметров в listbox1 rt.CloseKey; //закрыть ключ end; rt.Free; //выгрузить из памяти объект реестра listbox1.SetFocus; //установить курсор мыши в поле списка end;
4) Выбор из списка нужного параметра производится следующей процедурой, которая вызывается двойным щелчком мыши по списку. procedure TForm1.ListBox1DblClick(Sender: TObject); Begin if listbox1.ItemIndex>=0 then //если в списке есть элементы Begin edit1.Text:=listbox1.Items.Strings[listbox1.ItemIndex]; //записать в edit1 имя //выбранного элемента rt:=tregistry.Create; rt.RootKey:=ROOT; if rt.OpenKey(KEY,false) then Begin Edit2.text:=rt.ReadString(Edit1.Text); //записать в edit2 значение выбранного //параметра rt.CloseKey; end; rt.Free; end; end;
5) Изменение имени и значения параметра описывается следующей процедурой procedure TForm1.Button2Click(Sender: TObject); Begin rt:=tregistry.Create; rt.RootKey:=ROOT; if rt.OpenKey(KEY,false) then Begin //если имя изменено, то изменить имя параметра в реестре if listbox1.Items.Strings[listbox1.Itemindex]<>Edit1.Text then rt.RenameValue(listbox1.Items.Strings[listbox1.Itemindex],Edit1.Text); //записать новое значение для данного параметра rt.WriteString(edit1.Text,edit2.Text); end; //обновить список button1.Click; end;
6) Используя функции WriteString и DeleteValue класса TRegistry, самостоятельно опишите процедуры добавления и удаления параметров указанного ключа. 7) Проверьте работоспособность программы (рис. 7), добавив какой-либо новый параметр в данный раздел, и перезагрузив в систему. Все добавленные значения должны автоматически загрузиться при входе в систему.
Содержание отчёта 1. Титульный лист работы. 2. Формулировка цели и задач работы. 3. Список используемых средств для доступа к реестру. 4. Порядок действий над данными в реестре и результаты их выполнения. 5. Краткие выводы по проделанной работе. Контрольные вопросы 1. Что такое системный реестр? Каково его назначение? 2. Какие основные разделы реестра Вы знаете? Какие данные в них хранятся? 3. Какими методами осуществляется доступ пользователя к реестру? 4. В каких файлах хранится реестр? Какие разделы не хранятся в файлах? 5. Какие типы данных реестра Вы знаете? 6. Какие способы защиты реестра Вы знаете? 7. В чём различие утилит regedit и regedt32? 8. Какие команды для работы с реестром Вы знаете? Перечислите их назначение. 9. Какой класс объектов существует в ООП для работы с реестром? 10. Какие методы для работы с реестром выше упомянутого класса Вы знаете?
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |