1,221
社区成员
发帖
与我相关
我的任务
分享
fastcall TForm7::TForm7(TComponent* Owner)
: TForm(Owner)
{
String DiskLabel,RefDisk,str1,str;
unsigned long HDSerial;
long long SerialNum;
if(DirectoryExists("c:\\"))
{ RefDisk="c:\\";
}
else
{
RefDisk="D:\\";
}
GetVolumeInformation(RefDisk.w_str(),DiskLabel.w_str(),15,&HDSerial,0,0,NULL,0);
SerialNum=HDSerial;
Edit1->Text=GenMachineID(SerialNum);
str1=GetRegCode(SerialNum,str);
Edit2->Text=str;
}
String GenMachineID(long long SerialNum)
{
long long SN;
String MID,tmp1,tmp2;
if(SerialNum>19920110)
SN=SerialNum-19920110;
else SN=19920110-SerialNum;
tmp1=IntToStr(SN);
while(tmp1.Length()>3)
{
tmp2=tmp1.SubString(1,3);
tmp1=tmp1.Delete(1,3);
MID=MID+char(65+StrToInt(tmp2)*24/999)+tmp2;
}
MID=MID+char(65+StrToInt(tmp1)*24/999)+tmp1;
tmp1=MID;
MID="";
while(tmp1.Length()>3)
{
tmp2=tmp1.SubString(1,3);
tmp1=tmp1.Delete(1,3);
MID=MID+tmp2+"-";
}
MID=MID+tmp1;
if (SerialNum > 19920110)
MID="7A9-"+MID;
else MID="MT4-"+MID;
return MID;
}
WideString DiskLabel,RefDisk,str1,str;
unsigned long HDSerial;
long long SerialNum;
if(DirectoryExists("c:\\"))
{ RefDisk="c:\\";
}
else
{
RefDisk="D:\\";
}
GetVolumeInformation(RefDisk.c_bstr(),DiskLabel.c_bstr(),15,&HDSerial,0,0,NULL,0);
SerialNum=HDSerial;
Edit1->Text=GenMachineID(SerialNum);