Как получить название производителя и версию BIOS
Версия и производитель BIOS в реестре
Получение версии и названия производителя BIOS - не самая частая задача, но если эта тема вам все-таки интересна, то я расскажу, как это сделать. Для приложения самый простой способ, не требующий углубляться в дебри системы, это прочитать соответствующие данные из системного реестра. Нужная нам информация хранится в виде обычных текстовых строк в ключе HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS. При каждой перезагрузке системы данные в них перезаписываются актуальными значениями, а сами параметры закрыты от записи админскими правами доступа. А вот для чтения этих данных достаточно обычных пользовательских прав. Этим мы и воспользуемся.
Код простейший. Сперва определим в сегменте данных нужные нам пути реестра, названия параметров, а также переменные, необходимые для работы с реестром.
Code (Assembler) : Убрать нумерацию
- reg_key db 'HARDWARE\DESCRIPTION\System\BIOS',0
- key1 db 'BIOSVendor',0
- key2 db 'BIOSVersion',0
- key3 db 'BIOSReleaseDate',0
- phkResult dd ?
- lpdwDisp dd ?
- bufferSize dd ?
- result dd ?
- vendor rb 100h
- version rb 100h
- date rb 100h
Code (Assembler) : Убрать нумерацию
- ; Прочитать значение из реестра
- KEY_WOW64_64KEY = 0x100
- invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,reg_key,NULL,\
- KEY_QUERY_VALUE+KEY_WOW64_64KEY,phkResult
- mov dword [bufferSize],100h
- mov dword [lpdwDisp],REG_SZ
- invoke RegQueryValueEx,[phkResult],key1,0,lpdwDisp,vendor,bufferSize
- mov dword [bufferSize],100h
- invoke RegQueryValueEx,[phkResult],key2,0,lpdwDisp,version,bufferSize
- mov dword [bufferSize],100h
- invoke RegQueryValueEx,[phkResult],key3,0,lpdwDisp,date,bufferSize
- invoke RegCloseKey,[phkResult]
В приложении пример программы с исходным текстом, которая получает данные о BIOS из реестра и выводит их на экран.
Просмотров: 1831 | Комментариев: 2
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(02.09.2018 в 00:50):
Всегда рад помочь :)
avp1965
(24.08.2018 в 16:52):
Благодарствуем!
Добавить комментарий
Заполните форму для добавления комментария