小弟最近写了个小程序(服装公司计件用的),软件虽小,可对于他们来说却是很好用,并且他们打算拿到同行去卖。没想到老板是个心很黑的人,看到我的小软件就要出来了,打算不给我钱,只给我两个月工资(3000)急啊!还好这个程序只我一个人写的,并且老板也是个士财主,计算机不是很懂!所以我想写个简单一点的注册模块实现软件的注册。以防他拿出卖又不给我工资。请各位同仁帮帮我。简单一点也行,不过小弟对这方面一点也不懂!能给出源码最好。若是分不够的话就说一声。
小弟一直在线等候,跟贴!
小弟一直在线等候,跟贴!
TurboPower OnGuard 可以以最簡單的方式,實現最專業的註冊碼保護機制
[email protected]谢谢!
var
re_id: integer;
registerTemp:Tregistry;
inputstr:string;
get_id:string;
dy,clickedok:boolean;begin
dy:=false;//软件是否到注册期及是否允许继续使用的标志,当值为false是为允许使用。
registerTemp:=TRegistry.Create;//准备使用注册表
with registerTemp do
begin
rootkey:=HKEY_LOCAL_MACHINE;//存放在此根下
if OpenKey('software\microsoft\windows\Currentversion\',true) then
//新建一个目录,存放标志值。当然也可以存放在已存在的目录下。
begin
if valueexists('gc_id') then
begin
//用gc_id的值作为标志,首先判断其存在否?
re_id:=readinteger('gc_id');
//读出标值
if(re_id<>0)and(re_id<>100) then
begin
//若标志值为0时,则说明已经注册。若不为0且值不到100,说明虽未注册允说的
//数未到,还可以使用。
re_id:=re_id+5;
//允许的标志值最大为100,每次加5,则最多可以用20次
Writeinteger('gc_id',re_id);
//将更新后的标志值写入注册表中。
end;
if re_id=100 then
//如果到了100,则应注册。
dy:=true;
end
else
Writeinteger('gc_id',5);
//建立标志,并置初始标志值为5,可以任意值。
end;
if dy then
begin
//若dy的值为true,则应提示用户输入注册码,进行注册。
clickedok:=inputquery('你使用的是未注册软件,请输入注册码:','',inputstr);
if clickedok then
begin
get_id:=inttostr(27593758*2);
//注册码为55187516,当然也可以加入更复杂的算法。
if get_id=inputstr then
begin
writeinteger('gc_id',0);
//若输入的注册码正确,则将标志值置为0,即已注册。
closekey;
free;
end
else
begin
//若输入的注册码错误,应作出提示并拒绝让其继续使用。
application.MessageBox('注册码错误!请与作者联系!','警告框',mb_ok);
closekey;
free;
application.Terminate;
//中止程序运行,拒绝让其继续使用。
end;
end
else
begin
//若用户不输入注册码,也应作出提示并拒绝让其继续使用。
application.MessageBox('请与作者联系,及时注册!','警告框',mb_ok);
closekey;
free;
application.Terminate;
end;
end;end;end;
谢谢你的关心
不过还好,老板不是很懂!他只知道要密码。再说写说来的软件还是会有问题的。最终还是要找我。只不过我要他准时把钱给我。
谢谢!正准备调试,不过要下班了。看来只有等到晚上7:钟后才能调试了。