Теперь перейдем к процедуре FormDestroy, срабатывающей при закрытии приложения. В этой процедуре, прежде всего, проверяется, не запущена ли программа с опцией "-и". Если нет, то открывается ключ "\Software\Mou проект" и в него заносятся два параметра - Left и Тор, в которые записываются текущие координаты левого верхнего угла окна приложения. В конце процедуры объект Reg удаляется из памяти.

Теперь обратимся к процедуре FormCreate, выполняющейся при создании формы приложения. В начале процедуры создается объект Reg и методом RootKey устанавливается в качестве корневого ключа "HKEYLOCALMACHINE". Далее проверяется, не вызвано ли приложение с опцией "-и". Если да, значит, выполняется режим удаления приложения. Тогда методом DeleteKey удаляются из реестра оба ключа, созданные при установке, и приложение завершает работу методом Application.Terminate. В настоящей программе перед удалением ключей надо было бы прочитать в их параметрах имена всех файлов или каталогов, созданных вашей программой при ее установке, и удалить их с диска. Если же приложение запущено без опции "-и", то методом KeyExists проверяется, существует ли ключ "\Software\Mou проект". Если нет, значит, приложение еще не устанавливалось в Windows и ничего делать не надо. А если этот ключ существует, то он открывается, и координатам окна присваиваются значения параметров Left и Тор, записанные в реестре.

Сохраните приложение, например, с именем Pinstall и выполните его. Нажмите в его окне кнопку Установка. Вы увидите окно с сообщением "Установка завершена". Запустите редактор реестра (программу "Regedit.exe") и с ее помощью откройте поочередно ключи "HKEYLOCALMACHINE", "Software", "Microsoft", "Windows", "Current Version", "Uninstall". В последнем ключе вы увидите созданный вашим приложением ключ "Мой проект" (см. рис. 8.7). А в правом окне вы увидите записанные в него параметры. Аналогичным образом вы можете найти и второй созданный вами ключ, открывая ключи "HKEYLOCALMACHINE", "SOFTWARE", "Мой проект".

Рис. 8.7

Редактор реестра с открытым ключом приложения

8.4.2 Работа с реестром, установка и удаление программ

Переместите в какое-то место экрана ваше приложение, закройте его системной кнопкой, а затем опять выполните. Повторяя подобную процедуру, вы легко убедитесь, что приложение запоминает свое местоположение на экране, и каждый раз открывается в той позиции, в которой было закрыто в предыдущем сеансе работы.

А теперь закройте ваше приложение, откройте программу Windows "Панель управления" и щелкните в ее окне йа пиктограмме Установка и удаление программ. Вы увидите окно (см. рис. 8.8), в котором без труда найдете строку, которая характеризует ваше приложение. Это следствие того, что вы создали свой подключ в ключе "Uninstall", А строка - это текст, который вы задали его параметру DisplayName.

Рис. 8.8

Окно установки и удаления программ

8.4.2 Работа с реестром, установка и удаление программ

Нажмите в окне установки и удаления программ кнопку Добавить/удалить. При этом вызовется ваша программа с опцией "-и", как указано вами в параметре Uninst all String (см. рис. 8.7). В результате ваша программа удалит ключи из реестра и покажет окно с сообщением "Удаление завершено". В редакторе реестра вы сможете убедиться, что ключи, созданные вашей программой исчезли. Только сначала выполните в редакторе команду Вид | Обновить, чтобы обновить отображаемое дерево ключей.

Приведенный пример демонстрирует основные операции, связанные с регистрацией программы в Windows и с ее удалением. Ну, а настоящие программы установки и удаления должны выполнять, конечно, еще много других операций, которые в этой книге не рассматриваются. Впрочем, для небольших приложений в данный пример достаточно добавить создание нужного каталога и копирование в него ваших файлов. Это сделать достаточно просто.

8.4 Хранение информации в реестре || Оглавление || 8.5 Работа с файлами INI


⇐ Предыдущая страница|

Приемы программирования в Delphi на основе VCL



Новости за месяц

  • Май
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс