Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО_1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
131.07 Кб
Скачать

1. Лабораторная работа № 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 Поля структуры TOSVersionInfo

Поле

Описание

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 освобождается

Registry.Free;

end;

end;