用vc怎么获取硬件信息

用VC6.0版的语言怎么获取系统的硬件信息,例如CPU:P4,2.6G;内存:HY512M之类的... 用VC6.0版的语言怎么获取系统的硬件信息,例如CPU:P4,2.6G;内存:HY512M之类的 展开
 我来答
huanglenzhi
推荐于2016-11-12 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517196
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部

  1、获取CPU名称:

  获取HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0子键中获取ProcessorNameString的键值。该注册表子键存储了当前计算机的处理器信息,如CPU名称、标识和厂商等。

void CSystemHardwareInfoDlg::OnButton1() 
{
CString strPath="HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0";
CRegKey regKey;
LONG lResult;
lResult=regKey.Open(HKEY_LOCAL_MACHINE,LPCTSTR(strPath),KEY_ALL_ACCESS);

    //打开注册表主键   
    if (lResult!=ERROR_SUCCESS)//读取键值不成功   
    {  
        AfxMessageBox("错误:无法查询有关的注册表信息");  
        return;  
    }  
    char chCPUName[50];  
    DWORD dwSize=50;  
    regKey.QueryValue(chCPUName,"ProcessorNameString",&dwSize);  
    //获取RegisteredOwner的值   
    m_strCPUName=chCPUName;  
    UpdateData(FALSE);  
    regKey.Close();//关闭注册表

}

  2、获取CPU标识 :

  获取HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0子键中获取Identifier的键值。

void CSystemHardwareInfoDlg::OnButton2() 
{
CString strPath="HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0";
CRegKey regKey;
LONG lResult;
lResult=regKey.Open(HKEY_LOCAL_MACHINE,LPCTSTR(strPath),KEY_ALL_ACCESS);

    //打开注册表主键   
    if (lResult!=ERROR_SUCCESS)//读取键值不成功   
    {  
        AfxMessageBox("错误:无法查询有关的注册表信息");  
        return;  
    }  
    char chCPUID[50];  
    DWORD dwSize=50;  
    regKey.QueryValue(chCPUID,"Identifier",&dwSize);  
    //获取RegisteredOwner的值   
    m_strCPUIdentifier=chCPUID;  
    UpdateData(FALSE);  
    regKey.Close();//关闭注册表

}

  3、获取CPU制造商名称 :

  获取HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0子键中获取VendorIdentifier的键值。

void CSystemHardwareInfoDlg::OnButton3() 
{
CString strPath="HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0";
CRegKey regKey;
LONG lResult;
lResult=regKey.Open(HKEY_LOCAL_MACHINE,LPCTSTR(strPath),KEY_ALL_ACCESS);

    //打开注册表主键   
    if (lResult!=ERROR_SUCCESS)//读取键值不成功   
    {  
        AfxMessageBox("错误:无法查询有关的注册表信息");  
        return;  
    }  
    char chVendor[50];  
    DWORD dwSize=50;  
    regKey.QueryValue(chVendor,"VendorIdentifier",&dwSize);  
    //获取RegisteredOwner的值   
    m_strVendorID=chVendor;  
    UpdateData(FALSE);  
    regKey.Close();//关闭注册表

}

  4、获取CPU主频 :

  获取HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0子键中获取~MHz的键值。注意为DWORD类型。

void CSystemHardwareInfoDlg::OnButton4() 
{
CString strPath="HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0";
CRegKey regKey;
LONG lResult;
lResult=regKey.Open(HKEY_LOCAL_MACHINE,LPCTSTR(strPath),KEY_ALL_ACCESS);

    //打开注册表主键   
    if (lResult!=ERROR_SUCCESS)//读取键值不成功   
    {  
        AfxMessageBox("错误:无法查询有关的注册表信息");  
        return;  
    }  
    DWORD dwMHz; 
    DWORD dwSize=50;  
    regKey.QueryValue(dwMHz,"~MHz");  
    //获取RegisteredOwner的值   
    m_nMHz=dwMHz;  
    UpdateData(FALSE);  
    regKey.Close();//关闭注册表

}

  

cs_bj666
2006-11-24 · 超过80用户采纳过TA的回答
知道答主
回答量:450
采纳率:0%
帮助的人:0
展开全部
获取硬件信息(好使给加分呀)

在.net环境下(用VC#描述)获取机器的硬件信息,要用到一个类库(System.Management.dll),在解决方案资源管理器中添加System.Management 即可

我们可以将该程序编译成.dll文件,便于以后调用;

在程序代码中进行引用 using System.Management;

具体 代码为:

1.获取机器名:

public string GetHostName()
{
return System.Net.Dns.GetHostName();
}

2.获取CPU编号

public string GetCpuId()

{

ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();

String strCpuID = null ;
foreach( ManagementObject mo in moc )
{
strCpuID = mo.Properties["ProcessorId"].Value.ToString();
break;
}
return strCpuID;

}

3.获取主硬盘编号

public string GetMainHardDiskId()

{

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
String strHardDiskID = null ;
foreach(ManagementObject mo in searcher.Get())
{
strHardDiskID = mo["SerialNumber"].ToString().Trim();
break;
}
return strHardDiskID ;

}

4.获取bios和mac地址,这个有点复杂,需要用到NETAPI32.DLL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式