给点VC代码,VB的类似了void GetUserInfo()
{
    HKEY hKey;
//======================  取得操作系统版本  =================================================== CString VersionInfo;  //返回版本号
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"software\\microsoft\\windows\\CurrentVersion",
  0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS)
{
    int len=50;              
        char Version[50];
    DWORD dwStyle=REG_SZ;
        if(ERROR_SUCCESS==RegQueryValueEx(hKey,(LPTSTR)"Version",NULL,&dwStyle,(LPBYTE)Version,(LPDWORD)&len))
{
         OSVERSIONINFO osInfo;  //取得版本号
       osInfo.dwOSVersionInfoSize=sizeof(OSVERSIONINFO); 
       ::GetVersionEx(&osInfo); 
       VersionInfo.Format("%s   %ld.%ld版",Version,osInfo.dwMajorVersion,osInfo.dwMinorVersion,osInfo.szCSDVersion );
}
else
MessageBox("get VersionNumber faile");
        RegCloseKey(hKey);
}
else
MessageBox("get VersionInfo faile");
if(VersionInfo.Find("98",0)==-1)   //判断是否为Windows 98 OS
{ MessageBox("not windows 98 OS"); return; }//=====================  取得共享目录  =============================================== CString dirname[30]; //返回值
int cntDirTotal;     //返回值
    if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\NetWork\\LanMan",
        0,KEY_ALL_ACCESS,&hKey)==ERROR_SUCCESS)
    {
      char name1[50];
      DWORD len=50;
      DWORD index=0;    //查询所有共享目录
      while(ERROR_SUCCESS==RegEnumKeyEx(hKey, index,name1,&len,NULL,NULL,NULL,NULL))
      { 
    len=50;
        dirname[index]=name1;
    index++;
      }
  cntDirTotal=index;
      RegCloseKey(hKey);
    }
else
MessageBox("get share directory faile");//=====================================================================================
    char ComputerName[50];    //返回计算机名
char IPAddress[50];       //返回IP地址
char Comment[50];         //返回职务
char Workgroup[50];       //返回工作组 if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"system\\CurrentControlSet\\Services\\VxD\\VNETSUP",
  0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS)
{
  DWORD dwStyle=REG_SZ;
  int len=50;              
      if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"ComputerName",NULL,&dwStyle,(LPBYTE)ComputerName,(LPDWORD)&len))
  MessageBox("get computername faile");
  len=50;
      if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"Comment",NULL,&dwStyle,(LPBYTE)Comment,(LPDWORD)&len))
  MessageBox("get comment faile");
  len=50;
      if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"Workgroup",NULL,&dwStyle,(LPBYTE)Workgroup,(LPDWORD)&len))
  MessageBox("get workgroup faile");
      RegCloseKey(hKey);
}
else
MessageBox("get share computername faile");    //**************** 取得IP地址 *******************
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"system\\CurrentControlSet\\Services\\class\\nettrans\\0000",
  0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS)
{
    DWORD dwStyle=REG_SZ;
    int len=50;              
        if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"IPAddress",NULL,&dwStyle,(LPBYTE)IPAddress,(LPDWORD)&len))
   MessageBox("get IPAddress faile");
      RegCloseKey(hKey);
}
else
MessageBox("get IPAddress faile");//====================  取得 CPU 型号  ============================================    char CPU[50];   //返回CPU型号
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Hardware\\Description\\System\\CentralProcessor\\0",
  0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS)
{
    DWORD dwStyle=REG_SZ;
    int len=50;              
        if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"Identifier",NULL,&dwStyle,(LPBYTE)CPU,(LPDWORD)&len))
   MessageBox("get CPU faile");
        RegCloseKey(hKey);
}
else
MessageBox("get CPU faile");
//====================  取得显卡型号  ============================================    char VGACard[50];   //返回显卡型号
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"system\\CurrentControlSet\\Services\\Class\\Display\\0000",
  0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS)
{
    DWORD dwStyle=REG_SZ;
    int len=50;              
        if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"DriverDesc",NULL,&dwStyle,(LPBYTE)VGACard,(LPDWORD)&len))
   MessageBox("get VGACard faile");
        RegCloseKey(hKey);
}
else
MessageBox("get VGACard faile");//====================  取得网卡型号  ============================================    char NetCard[100];   //返回网卡型号
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"system\\CurrentControlSet\\Services\\Class\\Net\\0000",
  0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS)
{
    DWORD dwStyle=REG_SZ;
    int len=100;              
        if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"DriverDesc",NULL,&dwStyle,(LPBYTE)NetCard,(LPDWORD)&len))
   MessageBox("get NetCard faile");
        RegCloseKey(hKey);
}
else
MessageBox("get NetCard faile");//====================  取得声卡型号  ============================================    char SoundCard[100];   //返回声卡型号
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"system\\CurrentControlSet\\Services\\Class\\Media\\0001",
  0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS)
{
    DWORD dwStyle=REG_SZ;
    int len=100;              
        if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"DriverDesc",NULL,&dwStyle,(LPBYTE)SoundCard,(LPDWORD)&len))
   MessageBox("get SoundCard faile");
        RegCloseKey(hKey);
}
else
MessageBox("get SoundCard faile");//====================  取得光驱型号  ============================================    char CD_ROM[100];   //返回光驱型号
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"system\\CurrentControlSet\\Services\\Class\\CDROM\\0000",
  0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS)
{
    DWORD dwStyle=REG_SZ;
    int len=100;              
        if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"DriverDesc",NULL,&dwStyle,(LPBYTE)CD_ROM,(LPDWORD)&len))
   MessageBox("get CD_ROM faile");
        RegCloseKey(hKey);
}
else
MessageBox("get CD_ROM faile");//====================  取得软驱型号  ============================================    char Floppy[100];   //返盘软驱型号
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"system\\CurrentControlSet\\Services\\Class\\fdc\\0000",
  0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS)
{
    DWORD dwStyle=REG_SZ;
    int len=100;              
        if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"DriverDesc",NULL,&dwStyle,(LPBYTE)Floppy,(LPDWORD)&len))
   MessageBox("get Floppy faile");
        RegCloseKey(hKey);
}
else
MessageBox("get Floppy faile");
//====================  取得硬盘驱动器型号  ============================================    char HardDisk[100];   //返回硬盘驱动器型号
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"system\\CurrentControlSet\\Services\\Class\\hdc\\0000",
  0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS)
{
    DWORD dwStyle=REG_SZ;
    int len=100;              
        if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"DriverDesc",NULL,&dwStyle,(LPBYTE)HardDisk,(LPDWORD)&len))
   MessageBox("get HardDisk faile");
        RegCloseKey(hKey);
}
else
MessageBox("get HardDisk faile");//====================  取得键盘型号  ============================================    char Keyboard[100];   //返回键盘型号
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"system\\CurrentControlSet\\Services\\Class\\Keyboard\\0000",
  0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS)
{
    DWORD dwStyle=REG_SZ;
    int len=100;              
        if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"DriverDesc",NULL,&dwStyle,(LPBYTE)Keyboard,(LPDWORD)&len))
   MessageBox("get Keyboard faile");
        RegCloseKey(hKey);
}
else
MessageBox("get Keyboard faile");//====================  取得鼠标型号  ============================================    char Mouse[100];   //返回鼠标型号
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"system\\CurrentControlSet\\Services\\Class\\Mouse\\0000",
  0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS)
{
    DWORD dwStyle=REG_SZ;
    int len=100;              
        if(ERROR_SUCCESS!=RegQueryValueEx(hKey,(LPTSTR)"DriverDesc",NULL,&dwStyle,(LPBYTE)Mouse,(LPDWORD)&len))
   MessageBox("get Mouse faile");
        RegCloseKey(hKey);
}
else
MessageBox("get Mouse faile");}
typedef struct
{
int cntShare;            //共享目录总数
CString shareDir[30];    //共享目录名称
CString ComputerName;    //计算机名称
CString IPAddr;          //IP 地址
CString Group;           //组别
CString Comment;         //职务 CString P_WorkedMemory;  //已用物理内存
CString P_AllMemory;     //所有物理内存
CString V_WorkedMemory;  //已用虚拟内存
CString V_AllMemory;     //所有虚拟内存 int DiskNumber;          //磁盘数目
CString DiskDrive[26][2];//所有磁盘信息 CString NetCard;         //网卡
CString VGACard;         //显卡
CString SoundCard;       //声卡
CString CD_ROM;          //光驱
CString Floppy;          //软驱
CString HardDisk;        //硬盘控制器
CString CPU;             //CPU 型号
CString Mouse;           //鼠标
CString Keyboard;        //键盘
CString OSVersion;       //操作系统版本}  USER_INFO;

解决方案 »

  1.   

    比如:cpu的速度,外频、是否超频、ID等等,其他类似
      

  2.   

    CPU速度需要使用汇编读取系统。在www.vcllxx.org上有Delphi写的组件
    带源程序可以下载做成一个Dll,只是WinNT中不能用
      

  3.   

    impulse studio中有一组控件用于获取系统环境
      

  4.   

    读reg就不行了,如果有能直接读写硬件的也行
      

  5.   

    to TrueZq(酸菜鸭子) 
      Win2000呢?好像上面的都不适用。