请问如何做程序试用控制,如"你还没有注册,只能使用多X次"(100分)

  • 主题发起人 主题发起人 海天子
  • 开始时间 开始时间

海天子

Unregistered / Unconfirmed
GUEST, unregistred user!
我重新生成了一个文件保存这次数,虽然经过加密,但想来这样不是很好,能不能把次数存在EXE文件中,或者有其他的好办法没有?
 
可以放到exe文件中,但不能放到自身的exe文件中
或者可以写注册表,可以自己写也可以找控件,有很多这样的控件,搜一下能找到很多
 
还是在注册表里加键值,每次启动调用这个值,判断是否超过N次。
 
给你一个可以计时到时还可以把自己给删除掉的源代码
我本人试验过通过的 呵呵 8-)
完全可以达到如上所说的一点!
记住我 你们的最要好的朋友 Eroswar
DFW昵称:qbtxx
源代码如下:

unit SanCu;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,registry, StdCtrls;

type
TForm1 = class(TForm)
{ Private declarations }
procedure FormDestroy(Sender: TObject);
public
qbt:TRegistry;
{ Public declarations }
end;

var
Form1: TForm1;
jqk:integer;
AQQ:string;
f:textfile;
implementation

{$R *.dfm}

procedure TForm1.FormDestroy(Sender: TObject);
begin
qbt:=TRegistry.Create;
qbt.RootKey:=HKEY_CURRENT_USER;
qbt.OpenKey('Software',false);
qbt.CreateKey('QQ');
qbt.OpenKey('QQ',true);
begin if qbt.ValueExists('AQQ')then begin
jqk:=qbt.ReadInteger('AQQ');
if (jqk<>0)and(jqk<>6)then begin
jqk:=jqk+1;
qbt.WriteInteger('AQQ',jqk);
qbt.CloseKey;
qbt.Free;
end;
if jqk=6 then
begin
AssignFile(F, 'delself.bat');
Rewrite(F);{F为TextFile类型}
writeln(f,'@echo off');
writeln(f,'loop');
WriteLn(F,'del '+ExtractFileName(Application.ExeName));
writeln(f,'if exist'+Application.ExeName+'Goto loop');
writeln(f,'del delself.bat');
CloseFile(F);
WinExec('delself.bat',SW_HIDE);
close;
end;
end else qbt.WriteInteger('AQQ',1);
end;
end;
end.
给点奖励分吧!
 
多人接受答案了。
 
后退
顶部