项目组要求把我们组的 软件做成开机自动自动运行的形式 我想 :那好实现阿
书上不时有源代码么。只要用代码修改注册表不就行了
可是组长又说:有些用用户不想让咱们的软件开机运行 咱们可得考虑周到啊
我想了想 也是
可是 问题出来了 我只会让他开机运行 至于如何取消 我还真的不知道
于是 我就上网查资料
查了好半天的资料 终于找到了 答案 但是 看过之后就觉得自己有点小蠢
自己应该可以做出来的啊
不就是在form上加个checkbox 把它的caption属性该为 ‘开机运行’然后拉
个button 在它的click事件里 敲入这些代码
procedure TForm1.Button1Click(Sender: TObject);
var
regRegistry: TRegistry;
begin
regRegistry := TRegistry.Create;
try
regRegistry.RootKey := HKEY_LOCAL_MACHINE;
if regregistry.OpenKey('Software/Microsoft/Windows/CurrentVersion/Run',true) then
begin
if checkbox1.Checked then
regregistry.WriteString('即时网络新闻系 统','application.exename' + ParamStr(0) + 'application.exename')
else if regregistry.DeleteValue('即时网络新闻系统') then ;
// 这里‘即时网络新闻系统’是主窗体的名字
regregistry.CloseKey ;
end;
finally
regregistry.Free;
inherited;
end;
end;
再在FormCreate 里敲入如下的代码
procedure TForm1.FormCreate(Sender: TObject);
var
regRegistry: TRegistry;
begin
regRegistry := TRegistry.Create;
try
regRegistry.RootKey := HKEY_LOCAL_MACHINE;
if regregistry.OpenKey('Software/Microsoft/Windows/CurrentVersion/Run',true) then
begin
if regregistry.ValueExists('即时网络新闻系统') then
begin
checkbox1.Checked :=true;
end
else checkbox1.Checked :=false;
regregistry.CloseKey ;
end;
finally
regregistry.Free;
inherited;
end;
end;
当然 此时你点击 Ctrl+F9 它会运行出错 那时因为 这个程序涉及到 注册表编程
只要在 uses语句中引用 'Registry'就可以了~~
书上不时有源代码么。只要用代码修改注册表不就行了
可是组长又说:有些用用户不想让咱们的软件开机运行 咱们可得考虑周到啊
我想了想 也是
可是 问题出来了 我只会让他开机运行 至于如何取消 我还真的不知道
于是 我就上网查资料
查了好半天的资料 终于找到了 答案 但是 看过之后就觉得自己有点小蠢
自己应该可以做出来的啊
不就是在form上加个checkbox 把它的caption属性该为 ‘开机运行’然后拉
个button 在它的click事件里 敲入这些代码
procedure TForm1.Button1Click(Sender: TObject);
var
regRegistry: TRegistry;
begin
regRegistry := TRegistry.Create;
try
regRegistry.RootKey := HKEY_LOCAL_MACHINE;
if regregistry.OpenKey('Software/Microsoft/Windows/CurrentVersion/Run',true) then
begin
if checkbox1.Checked then
regregistry.WriteString('即时网络新闻系 统','application.exename' + ParamStr(0) + 'application.exename')
else if regregistry.DeleteValue('即时网络新闻系统') then ;
// 这里‘即时网络新闻系统’是主窗体的名字
regregistry.CloseKey ;
end;
finally
regregistry.Free;
inherited;
end;
end;
再在FormCreate 里敲入如下的代码
procedure TForm1.FormCreate(Sender: TObject);
var
regRegistry: TRegistry;
begin
regRegistry := TRegistry.Create;
try
regRegistry.RootKey := HKEY_LOCAL_MACHINE;
if regregistry.OpenKey('Software/Microsoft/Windows/CurrentVersion/Run',true) then
begin
if regregistry.ValueExists('即时网络新闻系统') then
begin
checkbox1.Checked :=true;
end
else checkbox1.Checked :=false;
regregistry.CloseKey ;
end;
finally
regregistry.Free;
inherited;
end;
end;
当然 此时你点击 Ctrl+F9 它会运行出错 那时因为 这个程序涉及到 注册表编程
只要在 uses语句中引用 'Registry'就可以了~~