给点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;
{
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;
带源程序可以下载做成一个Dll,只是WinNT中不能用
Win2000呢?好像上面的都不适用。