摘要: 原谅转自:http://blog.sina.com.cn/s/blog_612b382d0100efe1.html首先说明,CPU序列号并不是全球唯一的,以Intel为例,其不同型号的CPU序列号肯定不同,但不保证同型号的CPU序列号也各不相同,但据说P3后都是全球唯一的,一帆风没有详细考证。CPU序列号有一个好处就是非常难以修改,至少目前还没听说。将CPU ID 和MAC id 、硬盘id组合起来生成软件序列号,可以大大增加序列号的安全性。(后两者都可以通过软件方法修改)。好了,转入正题,闷头发源码:CString CGetCpuIDDlg::GetCPUID(){CString CPUID 阅读全文
posted @ 2013-05-08 23:37 瓜蛋 阅读(1592) 评论(0) 推荐(0) 编辑
摘要: 原谅转自:http://blog.sina.com.cn/s/blog_612b382d0100efdt.html1,第一步:创建设备对象,得到设备句柄,设备为硬盘。{CString sFilePath;sFilePath.Format("\\\\.\\PHYSICALDRIVE%d", driver);HANDLE hFile=::CreateFile(sFilePath,GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL, OPEN_EXISTING,0, NULL);DWORD dw 阅读全文
posted @ 2013-05-08 23:30 瓜蛋 阅读(1683) 评论(0) 推荐(0) 编辑
摘要: 原文出处忘记了。。。此宏很神奇#define FIND(structTest,e) (size_t)&(((structTest*)0)->e) struct test { int a; int b; char c; int d; }; size_t s = FIND(test,a); cout<<s<<endl; //输出结构体偏移 阅读全文
posted @ 2013-05-08 13:28 瓜蛋 阅读(228) 评论(0) 推荐(0) 编辑