- •Лабораторная работа № 1
- •1.1. Цель работы
- •1.2. Теоретическое введение
- •1.2.1. Получение информации об операционной системе
- •1.2.2. Получение информации из реестра Реестр играет ключевую роль в конфигурировании и управлении Windows. Это хранилище общесистемных и пользовательских параметров.
- •1.2.3. Получение информации о системных каталогах Windows
- •1.2.4. Получение информации о диске
- •1.3. Создание приложения для получения характеристик компьютера и операционной системы
- •Контрольные вопросы
Лабораторная работа № 1
ПОЛУЧЕНИЕ ХАРАКТЕРИСТИК КОМПЬЮТЕРА И ОПЕРАЦИОННОЙ СИСТЕМЫ
1.1. Цель работы
Целью данной работы является изучение процедур и функций Win32, позволяющий получить общую информации о характеристиках компьютера и операционной системы.
Для IBM совместимых ПК специфическими признаками программно-аппаратной среды являются:
тип ПК и версия операционной системы;
состав аппаратных средств;
физическое положение файлов на дисковом носителе;
наличие скрытых частей программы;
физические особенности (в том числе дефекты) носителя.
Некоторые из этих признаков очень индивидуальны (например, физические особенности некачественного носителя), другие обладают меньшей индивидуальностью (тип ПК, версия DOS).
В данной лабораторной работе рассматриваются функции Win32, с помощью которых можно получить перечисленную информацию.
1.2. Теоретическое введение
1.2.1. Получение информации об операционной системе
Для получения информации об операционной системе используется функция GetVersionEx:
function GetVersionEx(var lpVersionInformation: TOSVersionInfo): BOOL;
где
lpVersionInformation – структура типа TOSVersionInfo, состоящая из ряда полей, в которые функция GetVersionEx записывает информацию об операционной системе.
TOSVERSIONINFO = record
dwOSVersionInfoSize: DWORD;
dwMajorVersion: DWORD;
dwMinorVersion: DWORD;
dwBuildNumber: DWORD;
dwPlatformId: DWORD;
szCSDVersion: array[0..127] of AnsiChar;
end;
Описание полей структуры TOSVersionInfo приведены в таблице 1.1.
Таблица 1.1
Поле |
Описание |
dwOSVersionInfoSize |
Определяет размер структуры в байтах |
dwMajorVersion dwMinorVersion |
Определяет версию ОС в формате Major.Minor (например, 3.51) |
dwBuildNumber |
Номер ОС |
dwPlatformId |
Платформа Windows. Возможные значения для платформы Windows приведены в таблице 1.2. |
szCSDVersion |
Версия Service Pack |
.
Таблица 1.2.
Возможные значения поля dwPlatformId из структуры TOSVersionInfo
Значение константы |
Описание |
VER_PLATFORM_WIN32s |
Win32s on Windows 3.1. |
VER_PLATFORM_WIN32_WINDOWS |
Win32 on Windows 95. |
VER_PLATFORM_WIN32_NT |
Win32 on Windows NT. |
При успешном завершении функция GetVersionEx возвращает ненулевое значение (True).
1.2.2. Получение информации из реестра Реестр играет ключевую роль в конфигурировании и управлении Windows. Это хранилище общесистемных и пользовательских параметров.
Реестр – это база данных, структура которой аналогична структуре логического диска.
Он содержит разделы (keys), напоминающие дисковые каталоги и параметры (values), которые можно сравнить с файлами на диске.
В параметрах хранятся данные.
В лабораторной работе рассматривается объект TRegistry, содержащий методы работы с реестром.
Для работы с реестром необходимо подключить модуль Registry следующим образом:
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,Registry;
Ниже рассматривается пример работы с реестром с помощью объекта TRegistry:
function GetRegistryValue(KeyName: string): string;
var
Registry: TRegistry;
Begin
// Создание объекта TRegistry, с помощью которого выполняется чтение из реестра
Registry := TRegistry.Create(KEY_READ);
Try
// Указывается требуемый раздел реестра
Registry.RootKey = HKEY_LOCAL_MACHINE;
// Открывается указанный раздел реестра
Registry.OpenKey(KeyName, False);
// Считывается содержимое открытого раздела
Result := Registry.ReadString('VALUE1');
Finally
// Объект TRegistry jcdj,j;lftncz
Registry.Free;
end;
end;