QQ登录

只需一步,快速开始

378上位机VC MFC通过注册表获取BIOS全部信息

[ 复制链接 ]

378上位机VC MFC通过注册表获取BIOS全部信息

378上位机VC MFC通过注册表获取BIOS全部信息

获取BIOS全部信息
功能展示
BIOS是英文“Basic Input Output System”的缩略词,直译过来后中文名称就是“基本输入输出系统”。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序。我们当前例程通过注册表获取BIOS的全部信息,效果如图。点击按钮,例程就会从注册表读取BIOS全部信息并全部显示出来

要点提示
BIOS的信息都保存在注册表子键HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS下,子键右侧全部的健值项就是BIOS的全部信息,BaseBoardManufacturer为生产厂家,BaseBoardProduct为产品型号等

实现功能
1.新建基于对话框的应用程序
2.添加列表控件关联变量CListCtrl m_List;,添加按钮<获取BIOS全部信息>关联点击函数
void CGkbc8Dlg::OnGet() {AllRegKeyValue(HKEY_LOCAL_MACHINE,"HARDWARE\\DESCRIPTION\\System\\BIOS");}
调用的函数定义为
BOOL CGkbc8Dlg::AllRegKeyValue(HKEY hRootKey, CString sSubKey)
{
HKEY hSubKey;
long lResult;
lResult = RegOpenKeyEx(hRootKey, sSubKey, 0, KEY_READ, &hSubKey);// 打开注册表
if(ERROR_SUCCESS != lResult)
return FALSE;
//<>
const UINT nSize = 256;
UINT nIndex = 0; //枚举索引
CString sTemp;
TCHAR Name[nSize] = {0}; // 键/值名称
DWORD NameSiz = nSize*sizeof(TCHAR);
DWORD Type = REG_SZ; // 值类型
TCHAR sData[nSize] = {0}; // 值数据
DWORD DataSiz = nSize*sizeof(TCHAR);
lResult = RegEnumValue(hSubKey,nIndex,Name,&NameSiz,0,&Type, (unsigned char *)sData, &DataSiz);
while (lResult == ERROR_SUCCESS)
{
m_List.InsertItem(m_List.GetItemCount(), "");//插入一行
m_List.SetItemText(m_List.GetItemCount()-1, 0, Name);
if(Type == REG_BINARY) sTemp = "REG_BINARY"; //二进制数据
if(Type == REG_DWORD) sTemp = "REG_DWORD"; //32位双字节数据
if(Type == REG_SZ) sTemp = "REG_SZ"; //以0结尾的字符串
if(Type == REG_DWORD_BIG_ENDIAN) sTemp = "REG_DWORD_BIG_ENDIAN"; //高位排在底位的双字
if(Type == REG_EXPAND_SZ) sTemp = "REG_BINARY"; //扩展字符串,可以加入变量如%PATH%
if(Type == REG_LINK) sTemp = "REG_LINK"; //UNICODE 符号链接
if(Type == REG_RESOURCE_LIST) sTemp = "REG_RESOURCE_LIST"; //设备驱动程序资源列表
if(Type == REG_MULTI_SZ) sTemp = "REG_MULTI_SZ"; //多字符串
m_List.SetItemText(m_List.GetItemCount()-1, 1, sTemp);

if(sTemp == "REG_DWORD")
{
DWORD dwValue ;
dwValue = *(DWORD*)sData;
wsprintf(sData,"%d",dwValue);
}
m_List.SetItemText(m_List.GetItemCount()-1, 2, sData);

nIndex++;
NameSiz = nSize*sizeof(TCHAR);//必须重新赋值
DataSiz = nSize*sizeof(TCHAR);
lResult = RegEnumValue(hSubKey,nIndex,Name,&NameSiz,0,&Type, (unsigned char *)sData, &DataSiz);
}
RegCloseKey(hSubKey);
return TRUE;
}

我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:378.上位机VC MFC通过注册表获取BIOS全部信息.zip 
文件大小:137.42 KB  售价:11金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索