vc 獲取 硬盤序列號 和 cpu


vc 獲取 硬盤序列號 和 cpu 唯一iD的方法?
如題---------網上找來很多資料 也沒找到, 要支持xp win7 32/64 系統下都能獲取 硬盤序列號 和cpu ID 哪位朋友幫幫忙;

------解決方案--------------------
不是很確定 沒有測試64位的 http://blog.sina.com.cn/s/blog_612b382d0100efdt.html
------解決方案--------------------
CString cpu_id()
{
int s1,s2;
CString CPUID_1,CPUID_2; 
__asm{
mov eax,01h
xor edx,edx
cpuid
mov s1,edx
mov s2,eax
}
CPUID_1.Format("%08X%08X",s1,s2);
__asm{
mov eax,03h
xor ecx,ecx
xor edx,edx
cpuid
mov s1,edx
mov s2,ecx
}
CPUID_2.Format("%08X%08X",s1,s2);

return CPUID_1+CPUID_2;
}

CString disk_id() 
{
CString id; 
char Name[MAX_PATH]; 
DWORD serno; 
DWORD length; 
DWORD FileFlag; 
char FileName[MAX_PATH]; 
BOOL Ret; 
Ret = GetVolumeInformation("c:\\", Name, MAX_PATH, &serno, &length, &FileFlag, FileName, MAX_PATH); 
if (Ret) 
id.Format( "%x", serno); 
return id;
}


CString computer_id()
{
static CString cid;

if (cid.IsEmpty()) {
CString cpu_disk = cpu_id() + disk_id();
cid = cpu_disk;

//CMD5Checksum md5;
//const char* pcd = cpu_disk;

//cid = md5.GetMD5( (BYTE*)pcd, cpu_disk.GetLength());
}
return cid;
}
------解決方案--------------------
cpu序列號好像是取不到的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM