Программа для определения конфигурации компьютера и подключенных к нему устройств

Автор работы: Пользователь скрыл имя, 23 Мая 2013 в 22:22, курсовая работа

Описание работы

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

Содержание работы

1. Введение 3
2. Основные теоретические сведения 4
3. Описание работы программы 7
4. Заключение 8
5. Список использованной литературы 9
Приложение. Листинг 10

Файлы: 1 файл

Записка_Кучик.docx

— 270.46 Кб (Скачать файл)

Министерство образования Республики Беларусь

Учреждение образования  «Белорусский государственный университет  информатики и радиоэлектроники»

Факультет компьютерных систем и сетей

Кафедра информатики

 

Дисциплина: Архитектура компьютеров

 

 

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе

на тему

 

Программа для определения конфигурации компьютера и подключенных к нему устройств

 

Выполнил:

студент группы 052003

Кучик А.В. 

Руководитель:

Арико И. В.

 

 

 

 

 

 

 

Минск 2013

 

 

Содержание

 

1. Введение 3

2. Основные теоретические сведения 4

3. Описание работы программы 7

4. Заключение 8

5. Список использованной литературы 9

Приложение. Листинг 10

 

 

Введение

Общеизвестно, что системный блок современного компьютера состоит из отдельных модулей, объединённых в одно целое  и выполняющих каждый свою , определённую функцию.

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

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

Основные теоретические сведения

 Теоретические сведения

Операционные системы Windows, начиная Windows ’95, имеют условную структуру называемую системным реестром, в которой содержится вся информация об оборудовании персонального компьютера и установленном на нём программном обеспечении, а также служебная, необходимая для оптимального функционирования самой системы и правильного выполнения программных компонентов.

      Что такое системный реестр?

Системный реестр - база данных, которая  сохраняет параметры настройки для 32 разрядных версий Microsoft Windows включая; Windows 95, 98 и NT. Он содержит информацию и параметры настройки для всех аппаратных средств, программ, пользователей, и свойств PC. Каждый раз, когда пользователь делает изменения в параметрах настройки Панели управления, или в ассоциациях файлов, системной настройке, или в установленном программном обеспечении, изменения отражаются и сохраняются в системном реестре.

     Где находится системный реестр?

Физические файлы, которые составляют системный реестр,различаются в зависимости от версии Windows; в Windows 95 и 98 он содержится в двух скрытых файлах каталога Windows, называемыми USER.DAT и SYSTEM.DAT, в то время как в Windows NT файлы содержатся в каталоге "Windows/System32/Config".

     Как можно редактировать системный реестр?

Редактор системного реестра (REGEDIT.EXE) включен в большинство версийWindows (хотя Вы не найдете его в меню "Пуск") он дает возможность просматривать, искать и редактировать данные в пределах системного реестра. Имеется несколько методов для запуска редактора, самый простой - нажать на кнопку "Пуск", затем выбрать Выполнить, дальше в поле "Открыть:" напечатать "regedit" и откроется редактор системного реестра.    

     Использование Regedit для изменения системного реестра

Как только Regedit открыт, Вы заметите, что левую сторону занимает дерево с папками, а правую содержание выбранной папки. Чтобы развернуть некоторую ветвь, нажмите на знак "плюс" [+] слева от любой папки, или дважды щелкните на папке. Для отображения содержание папки, нажмите на нужный ключ, и Вы увидите параметры, перечисленные на правой стороне. Вы можете добавить новый ключ или параметр, выбирая пункт «Создать», из меню «Правка», или щелкая правой кнопкой мыши. Так же Вы можете переименовать любой параметр и почти любой ключ тем же методом, что и переименовываете файлы; щелкните правой кнопкой мыши на объекте, и выберете «Переименовать», или нажмите на нем дважды (медленно), или нажмите F2 на клавиатуре. Наконец, Вы можете удалить ключ или параметр, выбирая его, и, нажимая «Delete» на клавиатуре, или щелкая правой кнопкой мыши на параметре, и выбирая «Удалить». Обратите внимание: Всегда резервируйте Ваш системный реестр перед созданием любых изменений в нем. Это даст Вам возможность не переустанавливать операционную систему в случае неправильных действий.

Гораздо лучше перестраховаться, чем  потом жалеть! Системный реестр имеет иерархическую структуру, которая подобна  структуре каталогов на Вашем жестком диске, а Regedit подобен Проводнику Windows. Каждая главная ветвь (обозначенная значком папки в редакторе системного реестра, см. ниже) называется Корневой и содержит ключи. Каждый ключ может содержать другие ключи (иногда называемые подключами), а также параметры. Параметры содержат фактическую информацию, сохраненную в системном реестре. Имеется три типа параметров; Строковые, Двоичные, и DWORD. Реестр имеет шесть главных ветвей, каждая из которых содержит определенную часть информации. Это следующие ветви:

· HKEY_CLASSES_ROOT: Эта ветвь содержит все типы Ваших ассоциаций к файлам, информацию об OLE и данные по ярлыкам.

· HKEY_CURRENT_USER: Эта ветвь связана  с ветвью HKEY_USERS, и соответствует пользователю, работающему в настоящее время на PC.

· HKEY_LOCAL_MACHINE: Эта ветвь содержит определенную информацию о типах аппаратных средств, программного обеспечения, и других настройках на данном PC, эта информация используется для всех пользователей, которые работают на этом компьютере.

· HKEY_USERS: Эта ветвь содержит индивидуальные настройки каждого пользователя компьютера, каждый пользователь представлен под ключом SID, расположенном под главной ветвью.

· HKEY_CURRENT_CONFIG: Эта ветвь связана  с ветвью HKEY_LOCAL_MACHINE, и соответствует текущей аппаратной конфигурации.

· HKEY_DYN_DATA: Эта ветвь связана  с частью HKEY_LOCAL_MACHINE, и служит для использования особенностей Plug-&-Play в Windows, этот раздел динамически изменятся, когда устройства добавляются и удаляются из системы.

     Импорт и Экспорт параметров настройки системного реестра

Полезной особенностью Редактора  системного реестра является способность импортировать и экспортировать параметры системного реестра в текстовый файл, этот текстовый файл имеет расширение .REG, может быть сохранен а затем использован другими людьми для боле простого изменения локальных параметров системного реестра. Вы можете просмотреть содержание этих текстовых файлов, экспортируя ключ в испытательный файл и открыв его в Блокноте. В Редакторе системного реестра выберете ключ, затем из меню "Реестр" выберете "Экспорт файл реестра ... ", укажите имя сохраняемого файла. Если Вы откроете этот файл в Блокноте, то увидите текст, подобный приведенному ниже:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\Setup]

"SetupType"=dword:00000000

"CmdLine"="setup -newsetup"

"SystemPrefix"=hex:c5,0b,00,00,00,40,36,02

Содержание его весьма простое, REGEDIT4 указывает тип файла, [HKEY_LOCAL_MACHINE\SYSTEM\Setup] указывает ключ, где находятся параметры, "SetupType" =dword:00000000 это параметр, часть записи указанная непосредственно после "=" определяется в зависимости от типа данных; Строковое, Двоичное, или DWORD. Отредактировав этот файл, Вы можете легко произвести изменения в системном реестре, для этого дважды щелкните на нем, или выберете "Импорт файла реестра,,," из меню "Реестр", и параметры будут добавлены в системный реестр. Вся информация об установленных компонентах и приложениях заносится в реестр при установке операционной системы и обновляется при каждом запуске компьютера, а потому является одним из источников получения данных о конфигурации. Анализ этих данных был  взят за основу решения поставленной задачи.

 

 

WinApi

Windows API (англ. application programming interfaces) — общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Microsoft Windows корпорации «Майкрософт» и совместимой с ними свободной бесплатной операционной системы ReactOS. Является самым прямым способом взаимодействия приложений с Windows и ReactOS. Для создания программ, использующих Windows API, «Майкрософт» выпускает комплект разработчика программного обеспечения, который называется Platform SDK, и содержит документацию, набор библиотек, утилит и других инструментальных средств для разработки.

Общие сведения 

Windows API был изначально спроектирован для использования в программах, написанных на языке Си или C++. Работа через Windows API — это наиболее близкий к системе способ взаимодействия с ней из прикладных программ. Более низкий уровень доступа, необходимый только для драйверов устройств, в текущих версиях Windows предоставляется черезWindows Driver Model.

Версии 

Win16 — первая версия Windows API для 16-разрядных версий Windows. Изначально назывался просто Windows API, затем стал называться Win16 для отличия от Win32.

Win32s — подмножество Win32, устанавливаемое на семейство 16-разрядных систем Windows 3.x, и реализующее ограниченный набор функций Win32 API для этих систем.

Win32 — 32-разрядный API для современных версий Windows. Самая популярная ныне версия. Базовые функции этого API реализованы в динамически подключаемых библиотеках kernel32.dll и advapi32.dll; базовые модули графического интерфейса пользователя — в user32.dll и gdi32.dll. Win32 появился вместе с Windows NT и затем был перенесён в несколько ограниченном виде в системы серии Windows 9x. В современных версиях Windows, происходящих от Windows NT, работу Win32 GUIобеспечивают два модуля: csrss.exe (процесс исполнения клиент-сервер), работающий в пользовательском режиме, и win32k.sys в режиме ядра. Работу же системных Win32 API обеспечивает ядро — ntoskrnl.exe.

Win64 — 64-разрядная версия Win32, содержащая дополнительные функции для использования на 64-разрядных компьютерах. Win64 API можно найти только в 64-разрядных версиях Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows Server 2008 R2, Windows 7 и Windows 8.

Используемые в работе функции WinApi

SetupDiEnumDeviceInfo – функция возвращает структуру SP_DEVINFO_DATA, которая определяет элемент информации об устройстве в выбранном множестве устройств.

SetupDiGetClassDevs – функция возвращает хэндл множества информационных элементов устройств, которое содержит информацию о запрашиваемых устройствах для локального компьютера.

SetupDiGetDeviceRegistryProperty – функция возвращает информацию о запрашиваемом специфическом свойстве устройства.

 

 

Описание работы программы

При запуске программы, пользователь видит окно с элементом ListBox слева и элементом RichTextBox справа, а также кнопку «Refresh». Элемент ListBox предназначен для отображения конфигурации комьютера и подключенных устройств, в то время как RichTextBox справа предназначен для отображения более детальных данных о выбранном в данный момент устройстве.

Программа имеет интуитивно понятный интерфейс. При нажатии на кнопку «Refresh», происходит обновление информации о конфигурации компьютера и вывод ее в ListBox в алфавитном порядке.

Пользователь выбирает интересующее его устройство и может просмотреть  более детальную информацию о  нем в элементе RichTextBox справа.

В этом элементе отображаются следующие  данные:

- DeviceDesc – краткое описание выбранного устройства.

- HardwareID – строка, содержащая список аппаратных идентификаторов для устройства.

- Service – строка, содержащая имя службы для устройства.

- Class – класс настройки устройства, в котором группируются все устройства, устанавливаемые и настраиваемые подобным образом.

- Driver – строка, представляющая программный ключ устройства, также называемый драйверным ключом.

- FriendlyName – строка, представляющая наглядное(«дружественное») имя устройства.

- LocationInformation – строка, представляющая аппаратное расположение устройства.

- PhysicalDeviceObjectName – строка, представляющая объект устройства, которым оперирует операционная система.

- Enumerator Name – строка, представляющая устройство PnP в соответствии с аппаратным стандартом.

Заключение

В данной курсовой работе были изложены основные теоретические сведения об определении конфигурации компьютера, сложностях и тонкостях данной задачи. В ходе работы была разработана программа  на языке С++ с использованием функций WinApi, определяющая конфигурацию компьютера, используя реестр. Таким образом, мы получили программу, полностью выполняющую свои функции. Из сведений о каждом устройстве мы получаем достоверную информацию о конфигурации компьютера и подключенных к нему устройств.

В ходе работы были получены знания в  области языка программирования С++, набора функций  WinApi. Также были получены знания об архитектуре комьютера и представлении устройств в контексте операционной системы.

 

Список использованной литературы

Герберт Шилдт. Полный справочник по С++, ИД Вильямс 2010г.

Информация о работе Программа для определения конфигурации компьютера и подключенных к нему устройств