207上位机VC MFC系统及显卡BIOS版本更新信息获取
207上位机VC MFC系统及显卡BIOS版本更新信息获取
功能展示
用过驱动人生等相似软件都知道软件可以获得我们电脑的硬件信息选择相应版本更新,我们当前例程实现获得系统与显卡的BIOS更新日期与版本信息,点击显卡BIOS信息获取可以显示出显卡的BIOS信息,效果如图; 要点提示 系统及显卡的BIOS信息都保存在注册表HKEY_LOCAL_MACHINE\\HARDWARE\\DESCRIPTION\\System下,显卡BIOS版本键名为VideoBiosVersion,更新日期键名为VideoBiosDate;系统BIOS的版本键名为SystemBiosVersion,更新日期键名为SystemBiosDate;只要调用函数RegQueryValueEx()便可获取想要的信息
实现功能
1.新建基于对话框的应用程序 2.拖拽一列表框控件ID为IDC_LIST1用于显示获得的BIOS信息;,拖拽两按钮控件<显卡BIOS信息获取><系统BIOS信息获取>关联函数 - void CGkbc8Dlg::OnBiosinfo() //显卡BIOS信息
- {
- CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST1);//列表指针
- pListBox->ResetContent();//清空
- //<>
- HKEY hKey;
- LPCTSTR StrKey="HARDWARE\\DESCRIPTION\\System";
- DWORD dwSize=255,dwType=REG_MULTI_SZ;
- char String[256];
- LPCSTR KeyValue="VideoBiosVersion";
- if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,StrKey,NULL,KEY_ALL_ACCESS,&hKey))
- {
- if (ERROR_SUCCESS==::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)String,&dwSize))
- {
- CString sText("显卡BIOS的版本号为: ");
- sText+=String;
- pListBox->InsertString(0,sText);
- }
- //<>
- KeyValue="VideoBiosDate";
- if (ERROR_SUCCESS==::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)String,&dwSize))
- {
- CString sText("显卡BIOS的更新日期为: ");
- sText+=String;
- pListBox->InsertString(0,sText);
- }
- ::RegCloseKey(hKey);
- }
- }
复制代码- void CGkbc8Dlg::OnBiosinfo1() //系统BIOS信息
- {
- CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST1);//列表指针
- //<>
- HKEY hKey;
- LPCTSTR StrKey="HARDWARE\\DESCRIPTION\\System";
- if (ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,StrKey,NULL,KEY_ALL_ACCESS,&hKey))
- {
- DWORD dwSize=255,dwType=REG_MULTI_SZ;
- char String[256];
- LPCSTR KeyValue="SystemBiosVersion";
- if (ERROR_SUCCESS==::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)String,&dwSize))
- {
- CString sText("系统BIOS的版本号为: ");
- sText+=String;
- pListBox->InsertString(0,sText);
- }
- //<>
- KeyValue="SystemBiosDate";
- if (ERROR_SUCCESS==::RegQueryValueEx(hKey,KeyValue,0,&dwType,(BYTE *)String,&dwSize))
- {
- CString sText("系统BIOS的更新日期为: ");
- sText+=String;
- pListBox->InsertString(0,sText);
- }
- ::RegCloseKey(hKey);
- }
- }
复制代码
|