如何让我的程序在机器启动操作系统后,自动开始运行.(20分)

  • 主题发起人 主题发起人 pingbaoshi
  • 开始时间 开始时间
查看以答问题吧,多的是。
 
如果你的电脑里装了超级解霸,在注册表里找SYSEXPLR.EXE这个文件,把你的文件名写到这里就行了,
在我的电脑里,它位于:"我的电脑/hkey_local_machine/software/microsoft/windows/currentversion/run-"子键中!
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=599038
 
在注 册 表, 找 到HKEY_LOCAL_MACHINE /Software /Microsoft /Windows /CurrentVersion /Run, 就 会 发 现 这 个 秘 密 了, 许 多 自 动 运 行 的 程 序 都 在 这 里。 你 也 可 以 在 这 里 增 加 一 个 键, 让 你 的 程 序 也 随 着 WIN95/98/NT 的 启 动 而 自 己 运 行, 成 为WINDOWS 下 的TSR 程 序。 实 现 方 法 如 下:

首 先, 在Uses 中 加 上Registry 单 元

然 后, 写 下 面 代 码。

{将程序strExeFileName置为自动启动 }
function StartUpMyProgram
( strPrompt,strExeFileName : string ) : boolean;
var
registerTemp : TRegistry;
begin
registerTemp := TRegistry.Create;
//建立一个Registry实例
with registerTemp do
begin
RootKey:=HKEY_LOCAL_MACHINE;
//设置根键值为HKEY_LOCAL_MACHINE
//找到Software/Microsoft/Windows/CurrentVersion/Run
if OpenKey('Software/Microsoft/Windows
/CurrentVersion/Run',True) then
//写入自己程序的快捷方式信息
begin
WriteString( strPrompt, strExeFileName );
result := true;
end
else result := false;
//善后处理
CloseKey;
Free;
end;
end;

{调用StartUpMyProgram,
使Delphi随WINDOWS启动而自动运行 }
procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.lines.add('开始');
if StartUpMyProgram('delphi','C:/Program
Files/borland/delphi3/bin/delphi32.exe') then
memo1.lines.add('成功')
else
memo1.lines.add('失败')
end;
 
制作安装程序时,将其快捷方式放在开始任务菜单中的启动中就可以了呀!
 
每次都运行:
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run
只运行一次:
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/RunOnce
把你的程序路径名加在下面即可
 
多人接受答案了。
 
后退
顶部