请教大虾:
如何使程序在系统启动时自动运行?我是指用注册表?
如何使程序在系统启动时自动运行?我是指用注册表?
解决方案 »
- IntraWeb如何在IIS中发布?
- 怎样在软件中实现提供给用户的设计界面?急啊,请高手帮忙,100份相送。
- datetime格式的数据属于字符型数据吗?如果不是,怎么转换?
- !如何在服务器端程序里动态改动RemoteModule中的控件属性
- 怎么获得Access数据库表中的字段标题?
- edit的按键事件响应!
- 关于如何把Database1的Table1数据导入Database2的Table2中.
- 求助。。。。串口奇偶校验问题(急!)
- DBGRID问题!
- 大家好,我是新来的,有一个问题想问大家...
- 这个功能怎么做?
- 调查一下,各位所在的公司如果做ERP,用的开发工具和数据库是什么?你认为什么开发工具和数据库最适合开发ERP?
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\RunOnce', True) then
begin
Reg.WriteString('MyApp','"' + ParamStr(0) + '"');
Reg.CloseKey;
end;
finally
Reg.Free;
inherited;
end;
end;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
使用Regedit查找HKEY_LOCALMACHINE\Sodtware\Microsoft\Windows\CurrentVersion\Run,你会发现所有的Windows启动时调用的程序都在这里,于是你将你的程序增加在这里就可以了.名称为你的程序的标题,其值为你的程序的执行路径和文件名称. 如Interbase:
Interbase Server"D:\Program Files\Borland\IntrBase\BIN\ibserver.exe"
在程序中实现可以使用TRegIniFile或者使用TRegistry都可以. User Registry; Var
RegF:TRegistry;
begin
RegF:=TRegistry.Create;
RegF.RootKey:=HKEY_LOCAL_MACHINE;
try
RegF.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True);
RegF.WriteString('Interbase Server','"D:\Program Files\Borland\IntrBase\BIN\ibserver.exe"');
except
...
End;
RegF.Close;
RegF.Free;
end;
打开注册表HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/WINDOWS/CURRENT/RUN
在这里加入自己的程序的地址
2.启动后隐藏程序主窗口,在操作系统任务栏上不显示,或者直接隐藏进程
隐藏代码:
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
end;
3.在程序中加入timer,在指定时间触发自己定义的事件
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Now=时间 then
begin
//处理代码
end;
end;
补充一点,Run是永远AutoRun,而RunOnce可就是Run One time了