如我要做一个用户权限的东西,用户的密码与姓名我想存在exe文件中行吗?
解决方案 »
- 三级跳的困惑
- 100
- 如何让指定handle的窗口失去焦点?
- 如何取得字符串中的数字
- delphi 7的问题
- SoS!如何在listview下让满足条件的数据显示成红色!
- 怎样使我的程序支持代理服务器?
- 大家去看看这个贴吧,教育深啊!!http://www.csdn.net/expert/topic/841/841311.xml?temp=.6806452
- 请教高手:在DELPHI编程中的WEB页的超级链接,不是链接下一WEB页,而是弹出一个FORM窗口
- 共享软件中的注册码是如何编制的,如何生成,处理?
- Parameters.ParamByName('固定资产编号').Value:=QuotedStr('jkjk'),提示类型不正确
- msagent的奇怪问题,可能是无法实现的。
但完事后还得把文件删除然后把临时文件重命名
比较麻烦的
不如加密后放在保险的别的文件里
Drate(鸟窝里的虫),果然是一条优秀的大虫。
请看源代码。直接修改exe文件本身的源代码。注意调试时显示的次数始终是0,因为调试时每次都要重写可执行文件。
请执行生成的exe文件查看运行结果。本程序仅能运行50次。unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
usedTimes:byte;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
var
fs:TFileStream;
begin
fs:=TFileStream.Create(application.ExeName,fmopenread or fmsharedenynone);
fs.Seek(-1,soFromEnd);
fs.Read(usedTimes,1);
fs.Free;
showMessage('你已使用了'+intToStr(usedTimes)+'次!只能使用50次。');
if usedTimes>50 then application.Terminate; //限制使用50次
end;procedure TForm1.FormDestroy(Sender: TObject);
var
f:Textfile;
fs:TFileStream;
i:byte;
begin
i:=usedTimes+1;
copyfile('project1.exe','a.exe',false);
fs:=TFilestream.Create('a.exe',fmopenwrite or fmshareExclusive);
fs.Seek(-1,soFromEnd);
fs.Write(i,1);
fs.Free;
assignfile(f,'delSelf.bat');
rewrite(f);
writeln(f,'del project1.exe');//+#10+'ren a.exe project1.exe'+#10+'del %0');
writeln(f,'ren a.exe project1.exe');
writeln(f,'del %0');
closefile(f);
winExec('delSelf.bat',sw_hide);
end;end.