窗体在第一次启动时执行,以后不执行(0分)

  • 主题发起人 主题发起人 jzhang
  • 开始时间 开始时间
;有些程序需要登录,在第一次启动时,要求登录,弹出一个输入密码并确认的对话框,
以后启动时只出现一个要求输入密码的对话框.
 
最简单的方法: 将第一次登录的信息保存到注册表或者ini中, 启动先判断注册表或ini中是否
有该键值, 如有则弹出输入密码框并判断密码与保存的是否相同. 如果没有该键值, 则是第一次
登录, 保存信息到注册表或ini中.
 
什么意思?
自己在第一次启动时总要做点什么吧?直接判断这些事是否完成即可,或者就用EYES的方法:
var
inif:Tinifile
begin
inif := tinifile.create('myini.ini');
if not (inif.readboolean('common','runned',false)) then
begin
inif.writeboolean('common','runned',true);
youform.show;
end;
inif.free;
end;
 
既然以后不用执行,那就干脆把程序本身删了算了
 
到我的主页: http://202.96.210.160/personal/delphiworld/ 里的“技巧点
滴”中看看,里面有程序实例!
 
(1)在dpr工程文件中,use 后加:windows;
(2)加一if 条件语句,条件是函数findwindows
的返回值是不是为零。具体老兄先查查help.
以上方法老兄试试看,我记得不是很清楚了,一时
我还找不到以前的程序,我找到后,再贴给你,OK?
 
EYES和CJ的方法是对的.
 
可以将信息存在注册表中

var myregistry:tregistry;
begin
myregistry:=tregistry.Create;
try
myregistry.RootKey:=HKEY_LOCAL_MACHINE;
except
if myregistry.OpenKey('SOFTWARE/myapplication/firstrun',true) then
begin
firstrun:=myregistry.Readboolean(firstrun);
myregistry.CloseKey;
myregistry.Free;
end;
if firstrun=true then 程序是第一次运行 else .....
end;
 
大家谁能给我发一个完整的例子!!!!!!!
请大家到jzhang处领分!!!!!!!!
 
接受答案了.
 
后退
顶部