CString GetProcessorSeialNumbet(bool withSeparator)
{
DWORD t,m,b; //top,middle,botttom
DWORD* serial;
_asm
{
mov eax,1 //programmer: I need a Service ?
//processor: what type baby?
//eax = 3 -->
//eax: top 32 bits are the processor signature bits
//programmer:this
cpuid //_emit 0x0f |cpuid mean this tow instruction
//_emit 0xa2 |instead of writing them
//
//mean:the sevice i want the processor serial number
mov t,eax // top 32 bits are the processor signature bits
/*
eax = 3 -->
ecx: middle 32 bits are the processor signature bits
edx: bottom 32 bits are the processor signature bits
*/
mov eax,3
cpuid
mov m,edx// middle 32 bits are the processor signature bits
mov b,ecx// bottom 32 bits are the processor signature bits
}
// copy the locals into the pointer variables passed in
serial[0] = b;
serial[1] = m;
serial[2] = t;
CString temp,SN;
SN.Empty();
static char hex_chars[16] = {'0','1','2','3','4','5','6','7',
'8','9','A','B','C','D','E','F'};
for (int dw_count = 2; dw_count>=0; dw_count--)
{
for (int bp=28; bp>=0; bp-=4)
{
DWORD nibble = (serial[dw_count] >> bp) & 0x0f;
temp.Format("%c", hex_chars[nibble]);
SN+=temp;
if ((bp == 16) || ((bp == 0) && (dw_count!=0)) )
if(withSeparator)SN+="-";
}
}
return SN;
}
DLL中显示模态对话框的问题 | 用VB写MOUSE穿透的窗体 |
get the PIII processor serial number (psn) | |
[ 发布日期:20年前 (2005-04-04) ] [ 来自:本站原创 ] | [分类:C\C++相关] |
[ 分类:C\C++相关
| 查看:1085 ]
上一篇: DLL中显示模态对话框的问题
下一篇: 用VB写MOUSE穿透的窗体
暂时没有评论,快来发表一个评论吧。
发表评论 |