Delphi-注册表启动
如何让我的程序编辑注册表,以便在计算机启动时启动? 使用Delphi-注册表启动,delphi,Delphi,如何让我的程序编辑注册表,以便在计算机启动时启动? 使用 查看注册表中的以下位置: HKLM\Software\Microsoft\Windows\CurrentVersion\Run 您可以使用TRegistry在此处添加条目。查看注册表中的以下位置: HKLM\Software\Microsoft\Windows\CurrentVersion\Run 您可以使用TRegistry在此处添加条目。请尝试使用此代码在下次启动时启动应用程序 procedure RunOnStartupHK
查看注册表中的以下位置: HKLM\Software\Microsoft\Windows\CurrentVersion\Run
您可以使用TRegistry在此处添加条目。查看注册表中的以下位置: HKLM\Software\Microsoft\Windows\CurrentVersion\Run
您可以使用TRegistry在此处添加条目。请尝试使用此代码在下次启动时启动应用程序
procedure RunOnStartupHKCU(const sCmdLine: string;) ;
var
sKey : string;
Section : string;
ApplicationTitle : string;
begin
ApplicationTitle:='myApplication';
sKey := 'Once'
Section := 'Software\Microsoft\Windows\CurrentVersion\Run' + sKey + #0;
with TRegIniFile.Create('') do
try
RootKey := HKEY_CURRENT_USER;
WriteString(Section, ApplicationTitle, sCmdLine) ;
finally
Free;
end;
end;
要调用它,请使用此
sAppNam:=Application.ExeName;
RunOnStartupHKCU(sAppNam) ;
在下一次启动时,请尝试使用此代码启动应用程序
procedure RunOnStartupHKCU(const sCmdLine: string;) ;
var
sKey : string;
Section : string;
ApplicationTitle : string;
begin
ApplicationTitle:='myApplication';
sKey := 'Once'
Section := 'Software\Microsoft\Windows\CurrentVersion\Run' + sKey + #0;
with TRegIniFile.Create('') do
try
RootKey := HKEY_CURRENT_USER;
WriteString(Section, ApplicationTitle, sCmdLine) ;
finally
Free;
end;
end;
要调用它,请使用此
sAppNam:=Application.ExeName;
RunOnStartupHKCU(sAppNam) ;
非常感谢。如果可以的话,我会让+1 you:d来避免下一篇文章,最好用HKCU来代替。这取决于你想让它运行一个(HKCU)还是所有(HKLM)据我所知,HKLM将让此计算机上的所有用户启动此程序,而HKCU将只让当前活动用户启动此程序,而@user539484意味着您的程序通常没有对HKLM的写入权限。因此,您需要获得对HKLM的写入权限,或者在HKCU注册表项下进行写入。但是,在这种情况下,您的程序只会在写入注册表项时登录的用户登录时启动。所有这些的底线是,这样的更改最好在安装程序运行时完成,因为您可以合理地期望在运行时拥有对HKLM的写访问权限。谢谢。如果可以的话,我会让+1 you:d来避免下一篇文章,最好用HKCU来代替。这取决于你想让它运行一个(HKCU)还是所有(HKLM)据我所知,HKLM将让此计算机上的所有用户启动此程序,而HKCU将只让当前活动用户启动此程序,而@user539484意味着您的程序通常没有对HKLM的写入权限。因此,您需要获得对HKLM的写入权限,或者在HKCU注册表项下进行写入。但是,在这种情况下,您的程序只会在写入注册表项时登录的用户登录时启动。所有这些的底线是,这样的更改最好在安装程序运行时进行,因为您可以合理地期望在运行时具有对HKLM的写访问权限。