Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


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

Тип Реферат
Предмет Информатика и программирование
Просмотров
1046
Размер файла
35 б
Поделиться

Ознакомительный фрагмент работы:

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

Курсовой проект по дисциплине «Архитектура ЭВМ»

2005

Ведение

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

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

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

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

Операционные системы 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_MACHINESYSTEMSetup]

"SetupType"=dword:00000000

"CmdLine"="setup -newsetup"

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

Содержание его весьма простое, REGEDIT4 указывает тип файла, [HKEY_LOCAL_MACHINESYSTEMSetup] указывает ключ, где находятся параметры, "SetupType" =dword:00000000 это параметр, часть записи указанная непосредственно после "=" определяется в зависимости от типа данных; Строковое, Двоичное, или DWORD.

Отредактировав этот файл, Вы можете легко произвести изменения в системном реестре, для этого дважды щелкните на нем, или выберете "Импорт файла реестра,,," из меню "Реестр", и параметры будут добавлены в системный реестр.

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

2. Выбор языка программирования

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

Все поставленные задачи в полной мере решались в среде Visual Basic. Она и была выбрана в качестве средства создания рассматриваемой программы.

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

3.1. Сбор сведений

.Inf – файлы.

В папке Windows/INF собраны файлы, в которых находится информация об устанавливаемом оборудовании при инсталляции или загрузке операционной системы. И среди прочей служебной информации есть сведения о классе того или иного устройства, описываемого конкретным файлом. Все файлы этой папки мы просматриваем (.inf-файлы, в которых отсутствуют такие сведения нами не рассматриваются, а в программе пропускаются) и создаём список классов всех возможно установленных устройств.

3.2. Сравнение с информацией системного реестра

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

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

Весь процесс сбора информации сопровождается выводом на экран окна «Сбор сведений» (рис.1), в котором динамически отображаются результаты поиска и идентификации.

3.3. Отображение полученной информации.

Интерфейс пользователя

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

Процессор;

Системная плата;

Память;

Диски;

Адаптеры и др.устройства;

Устройства ввода/вывода.

Далее следовало создание формы в среде Visual Basic, на которой были

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

Внешний вид формы приведён на рисунке 2.

Отображение информации.

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

Линейка быстрой помощи

При наведении курсора мыши на каждую из кнопок в линейке быстрой помощи появляется информация её функции .

4. Текст программы

Ниже приводится текст разработанной программы:

Код формы HV1(HV1.frm):

Private Sub Form_Load()

Progress.Show

Call SB_Sveden

Progress.Hide

End Sub

Private Sub Form_Unload(Cancel As Integer)

End

End Sub

Private Sub Command1_Click()

SubK$ = "HardwareDescriptionSystemCentralProcessor "

On Error GoTo Noread

ProcID$ = HV1.RegCtrl1.RReadValue(HK$, SubK$, "Identifier")

Noread: On Error Resume Next

On Error GoTo Noread1

ProcMMX$ = HV1.RegCtrl1.RReadValue(HK$, SubK$, "MMXIdentifier")

Noread1: On Error Resume Next

On Error GoTo Noread2

VendorID$ = HV1.RegCtrl1.RReadValue(HK$, SubK$, "VendorIdentifier")

Noread2: Err.Clear

CpInst$ = ""

If Coproc Then CpInst$ = "Сопроцессор встроенный"

Box1 = ProcID$ & vbCrLf & ProcMMX$ & vbCrLf & VendorID$ & vbCrLf & " " & vbCrLf & CpInst$

On Error GoTo 0

End Sub

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Label1.Caption = "Информация о центральном процессоре."

End Sub

Private Sub Command2_Click()

Call B_Text(2)

End Sub

Private Sub Command2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Label1.Caption = "Информация о системной плате."

End Sub

Private Sub Command3_Click()

Dim clsMem As New clsMemorySnapshot

Box1 = "Объём физической памяти : " & Format(clsMem.TotalMemory 1024, "###,###,###,###,##0") & " KB" & vbCrLf & "Свободно : " & Format(clsMem.FreeMemory 1024, "###,###,###,###,##0") & " KB*" & vbCrLf

End Sub

Private Sub Command3_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Label1.Caption = "Информация о памяти."

End Sub

Private Sub Command4_Click()

ms = MsgBox("Рекомендуется вставить диски во все дисководы.", vbOKCancel, "ВНИМАНИЕ!")

GetDiskInfo

Box1 = ""

For Ka = 1 To n

tc$ = Str((BytesPerSec(Ka) * SecsPerClus(Ka) * TotalNumOfClus(Ka) / 1000) / 1000)

fc$ = Str((BytesPerSec(Ka) * SecsPerClus(Ka) * NumOfFreeClus(Ka) / 1000) / 1000)

Box1 = Box1 & "Информация о диске: " & Drives(Ka) & vbCrLf & _

"Метка тома: " & VNBuffer(Ka) & vbCrLf & _

"Файловая система: " & vSysBuff(Ka) & vbCrLf & _

"Серийный номер: " & vSerialNum(Ka) & vbCrLf & _

"Тип диска: " & TypeOfDrive(Ka) & vbCrLf & _

"Общее количество кластеров: " & TotalNumOfClus(Ka) & vbCrLf & _

"Количество свободных кластеров: " & NumOfFreeClus(Ka) & vbCrLf & _

"Секторов в кластере: " & SecsPerClus(Ka) & vbCrLf & _

"Байтов в секторе: " & BytesPerSec(Ka) & vbCrLf & _

"Емкость: " & tc$ & "mb" & vbCrLf & _

"Свободно: " & fc$ & "mb" & vbCrLf & " " & vbCrLf

Next

End Sub

Private Sub Command4_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Label1.Caption = "Информация о дисках."

End Sub

Private Sub Command5_Click()

Call B_Text(5)

End Sub

Private Sub Command5_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Label1.Caption = "Информация о установленных адаптерах (звук, видео, модем и т.д.)."

End Sub

Private Sub Command6_Click()

Call B_Text(6)

End Sub

Private Sub Command6_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Label1.Caption = "Информация о устройствах ввода/вывода (монитор, клавиатура, принтер и т.д.)."

End Sub

Sub B_Text(Comm As Integer)

Select Case Comm

Case 2

l = 0

k = k0

Case 5

l = 2

k = k2

Case 6

l = 1

k = k1

End Select

For i = 1 To k

s$ = s$ + (Sv(l, i) & vbCrLf)

Next i

Box1 = s$

End Sub

Код формы Progress(Pr.frm):

Private Sub Form_Load()

DrawWidth = 3

End Sub

Код модуля Module1(Hwm.bas):

Public Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTotalNumberOfClusters As Long) As Long

Public Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Public Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

Public Sv(2, 1000) As String

Public Coproc As Boolean

Public X1, X2, Y1, dX As Integer

Public k0 As Integer

Public k1 As Integer

Public k2 As Integer

Public Const HK$ = "HKEY_LOCAL_MACHINE"

Public cpuspd As Long

Public FF As Boolean

Public Drives(100) As String

Public n

Public Ka

Public vSerialNum(100) As Long

Public vCompLen(100) As Long

Public vFlags(100) As Long

Public vSysBuff(100) As String

Public vSysSize(100) As Long

Public SecsPerClus(100) As Long

Public BytesPerSec(100) As Long

Public NumOfFreeClus(100) As Long

Public TotalNumOfClus(100) As Long

Public TypeOfDrive(100) As String

Public VNBuffer(100) As String

Public VNSize(100) As Long

Public Const DRIVE_CDROM = 5

Public Const DRIVE_FIXED = 3

Public Const DRIVE_RAMDISK = 6

Public Const DRIVE_REMOTE = 4

Public Const DRIVE_REMOVABLE = 2

Sub SB_Sveden()

Dim mDir(1000), mDir1, mStr, mDDir(100) As String

Dim mClass, nClass(1000) As String

Dim s, s1 As String

Dim a As Integer

X1 = Progress.Line1.X1: X2 = Progress.Line1.X2

Y1 = Progress.Line1.Y1

ChDir ("C:WINDOWSINF")

mDDir(0) = "C:WindowsINF"

mDTMP = Dir(mDDir(0), vbDirectory)

i = 0

Do While mDTMP <> ""

If mDTMP <> "." And mDTMP <> ".." Then

If (GetAttr(mDDir(0) & mDTMP) And vbDirectory) = vbDirectory Then

i = i + 1: mDDir(i) = mDTMP

End If

End If

mDTMP = Dir

Loop

On Error GoTo EndFindINF

For j = 1 To i

mDir1 = Dir("C:WindowsINF" + mDDir(j) + "*.inf")

While mDir1 <> ""

a = a + 1

mDir(a) = mDDir(0) + mDDir(j) + "" + mDir1

mDir1 = Dir()

Wend

Next j

mDir1 = Dir("C:WINDOWSINF*.inf")

While mDir1 <> ""

a = a + 1

mDir(a) = mDDir(0) + mDir1

mDir1 = Dir()

Wend

EndFindINF:

Err.Clear

dX = (X2 - X1) / a

For i = 1 To a

On Error GoTo 0

Open mDir(i) For Input As #1

XE = X1 + (dX * i)

Progress.Line (X1, Y1)-(XE, Y1), &H8000000D

f = 0

sClFind:

If Not (EOF(1)) And f = 0 Then

Input #1, mClass

If Mid(mClass, 1, 5) = "Class" And (Mid(mClass, 6, 1) = "=" Or Mid(mClass, 6, 1) = " ") Then

a1 = a1 + 1: f = 1

mClass = Mid(mClass, 7)

For j = 1 To Len(mClass)

mStr = Mid(mClass, j, 1)

If mStr <> " " And mStr <> "=" And mStr <> Chr(34) Then nClass(a1) = nClass(a1) + mStr

Next j

For j = 1 To a1 - 1

s = StrConv(nClass(a1), vbLowerCase)

s1 = StrConv(nClass(j), vbLowerCase)

If s = s1 Then nClass(a1) = "": a1 = a1 - 1: f = 0: Exit For

Next j

If f = 1 Then

If nClass(a1) <> "DiskDrive" And nClass(a1) <> "NetClient" And nClass(a1) <> "NetService" And nClass(a1) <> "NetTrans" And nClass(a1) <> "CDROM" Then Call FClassCH(nClass(a1))

End If

Else: GoTo sClFind

End If

End If

Close #1

Next i

End Sub

Sub FClassCH(FClass As String)

Num$ = "


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Тгу им. Г. Р. Державина
Реферат сделан досрочно, преподавателю понравилось, я тоже в восторге. Спасибо Татьяне за ...
star star star star star
РЭУ им.Плеханово
Альберт хороший исполнитель, сделал реферат очень быстро, вечером заказала, утром уже все ...
star star star star star
ФЭК
Маринаааа, спасибо вам огромное! Вы профессионал своего дела! Рекомендую всем ✌🏽😎
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Подогнать готовую курсовую под СТО

Курсовая, не знаю

Срок сдачи к 7 дек.

только что
только что

Выполнить задания

Другое, Товароведение

Срок сдачи к 6 дек.

1 минуту назад

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

Лабораторная, Архитектура средств вычислительной техники

Срок сдачи к 12 дек.

1 минуту назад

Организации профилактики травматизма в спортивных секциях в общеобразовательной школе

Курсовая, профилактики травматизма, медицина

Срок сдачи к 5 дек.

2 минуты назад

краткая характеристика сбербанка анализ тарифов РКО

Отчет по практике, дистанционное банковское обслуживание

Срок сдачи к 5 дек.

2 минуты назад

Исследование методов получения случайных чисел с заданным законом распределения

Лабораторная, Моделирование, математика

Срок сдачи к 10 дек.

4 минуты назад

Проектирование заготовок, получаемых литьем в песчано-глинистые формы

Лабораторная, основы технологии машиностроения

Срок сдачи к 14 дек.

4 минуты назад

2504

Презентация, ММУ одна

Срок сдачи к 7 дек.

6 минут назад

выполнить 3 задачи

Контрольная, Сопротивление материалов

Срок сдачи к 11 дек.

6 минут назад

Вам необходимо выбрать модель медиастратегии

Другое, Медиапланирование, реклама, маркетинг

Срок сдачи к 7 дек.

7 минут назад

Ответить на задания

Решение задач, Цифровизация процессов управления, информатика, программирование

Срок сдачи к 20 дек.

7 минут назад
8 минут назад

Все на фото

Курсовая, Землеустройство

Срок сдачи к 12 дек.

9 минут назад

Разработка веб-информационной системы для автоматизации складских операций компании Hoff

Диплом, Логистические системы, логистика, информатика, программирование, теория автоматического управления

Срок сдачи к 1 мар.

10 минут назад
11 минут назад

перевод текста, выполнение упражнений

Перевод с ин. языка, Немецкий язык

Срок сдачи к 7 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно