QQ登录

只需一步,快速开始

365上位机VC MFC利用CPU和磁盘序列号生成注册码

[ 复制链接 ]

365上位机VC MFC利用CPU和磁盘序列号生成注册码

365上位机VC MFC利用CPU和磁盘序列号生成注册码

利用CPU和磁盘序列号生成注册码
功能展示
我们开发的软件供用户使用会通过注册机制实现盈利,软件注册过程一关键问题是在每个客户端如何生成唯一的注册码,我们当前例程利用用户电脑的CPU及磁盘序列号生成注册码,效果如图,点击<获取序列号>会获取电脑的CPU及C盘序列号,及两都合成的机器码,并显示在界面编辑框中。点击<生成注册码>会将机器码通过加密转换生成注册码显示出来;

要点提示
例程注册码是通过机器码生成,而机器码又是通过客户电脑的CPU及C盘序列号生成。
机器码的生成是通过CPU序列号的13位至18位和C盘的3位至8位顺序排列形成一个10位字符串。
机器码生成注册码是通过计算机器字符串的每个字符所对应的十进制数,以此十进制数作为索引在数组中选择字符,再连接所有字符生成注册码;

实现功能
1.新建基于对话框的应用程序
2.依照界面添加编辑框IDC_EDIT1,IDC_EDIT2,IDC_EDIT3,IDC_EDIT4分别对应显示CPU序列号,C盘序列号,生成机器码及生成的注册码,再添加按钮<获取序列号><生成注册码>关联按钮的点击函数
void CGkbc8Dlg::OnGet()
{
unsigned long s1,s2;
CString sCpuID,CPUID1,CPUID2;
__asm{
mov eax,01h
xor edx,edx
cpuid
mov s1,edx
mov s2,eax
}
CPUID1.Format("%08X%08X",s1,s2);
__asm{
mov eax,03h
xor ecx,ecx
xor edx,edx
cpuid
mov s1,edx
mov s2,ecx
}
CPUID2.Format("%08X%08X",s1,s2);
sCpuID=CPUID1+CPUID2;
SetDlgItemText(IDC_EDIT1,sCpuID);
//<>
DWORD ser;
char namebuf[128];
char filebuf[128];
::GetVolumeInformation("c:\\",namebuf,128,&ser,0,0,filebuf,128);
CString strdisk;
strdisk.Format("%d",ser);
SetDlgItemText(IDC_EDIT2,strdisk);
//<>
CString strmachine;
strmachine=sCpuID.Mid(13,5); //从MyCpuID的第13位开始取5个
strmachine+=strdisk.Mid(3,5);//从strdisk的第3位开始取5个,合并生成机器码
SetDlgItemText(IDC_EDIT3,strmachine);
}
void CGkbc8Dlg::OnGenerate()
{
CString code[16]={"ad","eh","im","np","ru","vy","zc","gk",
"pt","xb","fj","ox","wa","ei","nr","qu"};
CString reg,stred;
int num;
GetDlgItemText(IDC_EDIT2,stred);
stred.MakeLower();
for(int i=0;i<10;i++)
{
char p=stred.GetAt(i);
if(p>='a'&&p<='f')
num=p-'a'+10;
else
num=p-'0';
CString tmp=code[num];
reg+=tmp;
}
reg.MakeUpper();
SetDlgItemText(IDC_EDIT4,reg);
}

我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:365.上位机VC MFC利用CPU和磁盘序列号生成注册码.zip 
文件大小:136.36 KB  售价:11金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索