Устройства ввода графической информации. Реферат. Педагогика.

🛑 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!
Похожие работы на - Устройства ввода графической информации
Скачать Скачать документ
Информация о работе Информация о работе
Скачать Скачать документ
Информация о работе Информация о работе
Скачать Скачать документ
Информация о работе Информация о работе
Скачать Скачать документ
Информация о работе Информация о работе
Скачать Скачать документ
Информация о работе Информация о работе
Скачать Скачать документ
Информация о работе Информация о работе
Скачать Скачать документ
Информация о работе Информация о работе
Нужна качественная работа без плагиата?
Не нашел материал для своей работы?
Поможем написать качественную работу Без плагиата!
Конфигурация аппаратных средств персонального
компьютера
Курсовой проект по дисциплине «Архитектура ЭВМ»
Общеизвестно,
что системный блок современного компьютера состоит из отдельных модулей,
объединённых в одно целое и выполняющих каждый свою , определённую функцию.
На
сегодняшний день появилось огромное количество аппаратных средств персональных
компьютеров различных производителей, которые выполняют самые разные задачи:
ввод информации, выполнение кода программ, вывод результатов работы и т.д.
Порой становится важной возможность определения конфигурации при не имении на
руках документации на установленное оборудование и без разборки системного
блока. В этом случае приходят на помощь программы специально разработанные для
решения подобного рода задач – программы определения конфигурации компьютера.
Данная
работа посвящена разработке именно такой программы. Программы, которая была бы
способна воссоздать внутреннее устройство компьютера с классификацией модулей и
информацией по каждому из них.
Операционные
системы 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, может быть сохранен а затем использован другими
людьми для боле простого изменения локальных параметров системного реестра. Вы
можете просмотреть содержание этих текстовых файлов, экспортируя ключ в
испытательный файл и открыв его в Блокноте. В Редакторе системного реестра
выберете ключ, затем из меню "Реестр" выберете "Экспорт файл
реестра ... ", укажите имя сохраняемого файла. Если Вы откроете этот файл
в Блокноте, то увидите текст, подобный приведенному ниже:
"SystemPrefix"=hex:c5,0b,00,00,00,40,36,02
Содержание
его весьма простое, REGEDIT4 указывает тип файла,
[HKEY_LOCAL_MACHINE\SYSTEM\Setup] указывает ключ, где находятся параметры,
"SetupType" =dword:00000000 это параметр, часть записи указанная
непосредственно после "=" определяется в зависимости от типа данных; Строковое,
Двоичное, или DWORD.
Отредактировав
этот файл, Вы можете легко произвести изменения в системном реестре, для этого
дважды щелкните на нем, или выберете "Импорт файла реестра,,," из
меню "Реестр", и параметры будут добавлены в системный реестр.
Вся
информация об установленных компонентах и приложениях заносится в реестр при
установке операционной системы и обновляется при каждом запуске компьютера, а
потому является одним из источников получения данных о конфигурации. Анализ
этих данных был взят за основу решения поставленной задачи.
Поскольку
работа с реестром подразумевает выполнение задачи под управлением операционной
системы Windows, то это обстоятельство повлияло на выбор языка
программирования. Необходимо было также обратить внимание на удобство создания
интерфейса и отображение всей информации в стандартном окне Windows.
Все
поставленные задачи в полной мере решались в среде Visual Basic. Она и была
выбрана в качестве средства создания рассматриваемой программы.
3.
Описание алгоритма работы программы
В
папке Windows/INF собраны файлы, в которых находится информация об
устанавливаемом оборудовании при инсталляции или загрузке операционной системы.
И среди прочей служебной информации есть сведения о классе того или иного
устройства, описываемого конкретным файлом. Все файлы этой папки мы
просматриваем (.inf-файлы, в которых отсутствуют такие сведения нами не
рассматриваются, а в программе пропускаются) и создаём список классов всех
возможно установленных устройств.
3.2.
Сравнение с информацией системного реестра
После
того как получен список, каждый найденный класс проверяем на его присутствие в
системном реестре и, если он обнаружен, то включаем счётчик возможно
установленных устройств данного класса. При каждом пересчёте счётчика делаем
обращение к реестру на признак присутствия устройства и, если ответ
положительный , сохраняем информацию. Если же устройств данного класса в
реестре не обнаружено, то переходим к следующему элементу списка до тех пор, пока
не исчерпаем его весь.
После
отработки данной части алгоритма имеем распределённый по группам список всех
установленных устройств и информацию по каждому из них.
Весь
процесс сбора информации сопровождается выводом на экран окна «Сбор сведений»
(рис.1), в котором динамически отображаются результаты поиска и идентификации.
3.3.
Отображение полученной информации.
При
разработке интерфейса основное внимание уделялось простоте использования и
наглядности. Все возможные типы устройств, устанавливаемые в современных
компьютерах, поделились на группы. В результате получилось 6 наименований:
Далее
следовало создание формы в среде Visual Basic, на которой были
размещены
6 кнопок (по одной на каждую из выделенных групп), окно просмотра информации по
выбранной группе с линиями прокрутки и линейка быстрой помощи.
Внешний
вид формы приведён на рисунке 2.
По
нажатию одной из кнопок вступает в работу соответствующая процедура обработки,
которая производит подготовку и вывод нужной информации. В результате в окне
справа появляется информация, касающаяся выбранной группы.
При
наведении курсора мыши на каждую из кнопок в линейке быстрой помощи появляется
информация её функции .
Ниже
приводится текст разработанной программы:
Private Sub Form_Unload(Cancel As Integer)
SubK$ = "Hardware\Description\System\CentralProcessor\0"
ProcID$ = HV1.RegCtrl1.RReadValue(HK$, SubK$,
"Identifier")
ProcMMX$ = HV1.RegCtrl1.RReadValue(HK$, SubK$,
"MMXIdentifier")
VendorID$ = HV1.RegCtrl1.RReadValue(HK$, SubK$,
"VendorIdentifier")
If Coproc Then CpInst$ = "Сопроцессор встроенный"
Box1 = ProcID$ & vbCrLf & ProcMMX$ & vbCrLf &
VendorID$ & vbCrLf & " " & vbCrLf & CpInst$
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
Label1.Caption
= "Информация о центральном процессоре."
Private Sub Command2_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
Label1.Caption
= "Информация о системной плате."
Dim clsMem As New clsMemorySnapshot
Box1 = "Объём физической памяти :
" & Format(clsMem.TotalMemory \ 1024, "###,###,###,###,##0")
& " KB" & vbCrLf & "Свободно
: " & Format(clsMem.FreeMemory \ 1024,
"###,###,###,###,##0") & " KB*" & vbCrLf
Private Sub Command3_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
Label1.Caption
= "Информация о памяти."
ms
= MsgBox("Рекомендуется вставить диски во все дисководы.",
vbOKCancel, "ВНИМАНИЕ!")
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
Private Sub Command4_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
Label1.Caption
= "Информация о дисках."
Private Sub Command5_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
Label1.Caption
= "Информация о установленных адаптерах (звук, видео, модем и т.д.)."
Private Sub Command6_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
Label1.Caption
= "Информация о устройствах ввода/вывода (монитор, клавиатура, принтер и
т.д.)."
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 Const HK$ = "HKEY_LOCAL_MACHINE"
Dim mDir(1000), mDir1, mStr, mDDir(100) As String
X1 = Progress.Line1.X1: X2 = Progress.Line1.X2
If (GetAttr(mDDir(0) & mDTMP) And vbDirectory) = vbDirectory
Then
mDir1 = Dir("C:\Windows\INF\" + mDDir(j) +
"\*.inf")
mDir(a) = mDDir(0) + mDDir(j) + "\" + mDir1
mDir1 = Dir("C:\WINDOWS\INF\*.inf")
Progress.Line (X1, Y1)-(XE, Y1), &H8000000D
If Mid(mClass, 1, 5) = "Class" And (Mid(mClass, 6, 1) =
"=" Or Mid(mClass, 6, 1) = " ") Then
If mStr <> " " And mStr <> "=" And
mStr <> Chr(34) Then nClass(a1) = nClass(a1) + mStr
s = StrConv(nClass(a1), vbLowerCase)
s1 = StrConv(nClass(j), vbLowerCase)
If s = s1 Then nClass(a1) = "": a1 = a1 - 1: f = 0: Exit
For
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))
SubK$ = "System\CurrentControlSet\Services\Class\" +
FClass + Num$
DDesc$ = HV1.RegCtrl1.RReadValue(HK$, SubK$, "DriverDesc")
SubK$ = "System\CurrentControlSet\Services\Class\" +
FClass
DD$ = HV1.RegCtrl1.RReadValue(HK$, SubK$, "")
If DDesc$ <> "Coprocessor" And DDesc$ <>
"Сопроцессор" Then Call GroupDev(FClass,
DDesc$, Num$) Else Coproc = True
Sub GroupDev(DClass, DDsc, Nm As String)
If DClass = "System" Or DClass = "fdc" Or DClass
= "hdc" Or DClass = "Infrared" Then k0 = k0 + 1: Sv(0, k0)
= DDsc: Exit Sub
If DClass = "MTD" Or DClass = "MultiFunction" Or
DClass = "PCMCIA" Or DClass = "Ports" Then k0 = k0 + 1:
Sv(0, k0) = DDsc: Exit Sub
If DClass = "USB" Then k0 = k0 + 1: Sv(0, k0) = DDsc: Exit
Sub
If DClass = "Monitor" Or DClass = "Keyboard" Or
DClass = "Mouse" Or DClass = "Printer" Then k1 = k1 + 1:
Sv(1, k1) = DDsc: Exit Sub
SubK$ = "System\CurrentControlSet\Services\Class\" +
DClass + Nm
MDId$ = HV1.RegCtrl1.RReadValue("HKEY_LOCAL_MACHINE",
SubK$, "MatchingDeviceId")
If Mid(MDId$, 1, 3) = "PCI" Then DDsc = "(PCI) "
+ DDsc
If Mid(MDId$, 1, 6) = "ISAPNP" Then DDsc = "(ISA)
" + DDsc
If GetDriveType(Chr$(i) & ":" & "\")
<> 1 Then n = n + 1: Drives(n) = Chr$(i) & ":" &
"\"
Call GetDiskFreeSpace(Drives(i), SecsPerClus(i), BytesPerSec(i),
NumOfFreeClus(i), TotalNumOfClus(i))
Select Case GetDriveType(Drives(i))
lRet = GetVolumeInformation(Drives(i), VNBuffer(i), VNSize(i),
vSerialNum(i), vCompLen(i), vFlags(i), vSysBuff(i), vSysSize(i))
If lRet = 1 Then VNBuffer(i) = Left$(VNBuffer(i),
Len(RTrim$(VNBuffer(i))) - 1): vSysBuff(i) = Left$(vSysBuff(i), Len(RTrim$(vSysBuff(i)))
- 1): vSerialNum(i) = Left$(vSerialNum(i), Len(RTrim$(vSerialNum(i))) - 1)
If lRet = False Then VNBuffer(i) = "None": vSysBuff(i) =
"None"
Код
класса clsMemorySnapshot(Memory.cls)
Private Declare Sub GlobalMemoryStatus Lib "kernel32" _
Public Property Get FreeMemory() As Long
FreeMemory = mmemMemoryStatus.dwAvailPhys
Public Property Get TotalMemory() As Long
TotalMemory = mmemMemoryStatus.dwTotalPhys
Public Property Get TotalVirtualMemory() As Double
TotalVirtualMemory = mmemMemoryStatus.dwTotalVirtual
Public Property Get AvailableVirtualMemory() As Double
AvailableVirtualMemory = mmemMemoryStatus.dwAvailVirtual
mmemMemoryStatus.dwLength = Len(mmemMemoryStatus)
GlobalMemoryStatus mmemMemoryStatus
Программа
полностью выполнила все поставленные перед ней задачи при тестировании, что позволяет
сделать вывод о её пригодности для определения конфигурации компьютера и
использования в качестве дополнения к, уже имеющимся в составе операционной
системы Windows , средствам получения информации об аппаратных средствах с
более простым и удобным интерфейсом.
Для
подготовки данной работы были использованы материалы с сайта http://5ka.ru/
Похожие работы на - Устройства ввода графической информации Реферат. Педагогика.
Практическая Работа 1 Качественное Определение
Контрольная Работа На Тему Методы И Методики Диагностики Мотивации Достижения, Отношения И Аффилиации
Отчет по практике по теме Організація інноваційно-інвестиційної діяльності ТОВ 'МІКО ГРУП'
Дипломная работа по теме Перспективные направления развития сферы благоустройства г. Северодвинска
Реферат: Преступность в России в XIX — начале XX веков
Реферат: Худ, Александр, 1-й виконт Бридпорт
Контрольная работа по теме Расчет долбяков для нарезания прямозубых колес
Реферат по теме Дослідження екології людини
Реферат Всемирный Банк
Организационная структура информационного отдела
Лекция по теме Методика викладання іноземної мови
Реферат: Типология государств
Курсовая работа по теме Функции права
Реферат по теме Понятия массы и тяготения
Реферат: Технології галузей легкої промисловості
Реферат по теме Интонация
Реферат по теме Measurement of Elastic Constant of Spiral Spring, and Earth's Gravitational Intensity
Виды Деятельности Реферат
Деловая Игра Реферат
Курсовая работа: Рецидив преступлений
Похожие работы на - Графика и анимация
Реферат: Современные проблемы юрисдикционного иммунитета государства и его собственности в международном частном праве
Курсовая работа: Процесс исследования систем управления