
delphi 如何实现程序自动启动
len:=Length(Trim(Edit2.text))+1;filename:=Trim(Edit2.text);fori:=0toLength(filename)d...
len := Length(Trim(Edit2.text))+1;
filename := Trim(Edit2.text);
for i:=0 to Length(filename) do
if(filename[i]=‘\’)then
len:=len+1; \\我的问题是为什么这里长度要加1呢?regsetvalueex()最后一个参数是传递要写入的字符串长度,len := Length(Trim(Edit2.text))+1;这一句不就是求的长度吗还加上了最后一个'\'结束.假设目录为d:\programfile\1.exe 难道这里边的每个\长度要加1吗?
ret1:=RegSetValueEx(lKey,PChar(title),0,REG_SZ,Pchar(filename),len);
if(ret1<>ERROR_SUCCESS) then
Application.MessageBox(‘错误1’,‘提示’,MB_OK);
RegCloseKey(lKey);
也可以这样写吗?
reg:=tregistry.create;
reg.rootkey:=HKEY_LOCAL_MACHINE;
reg.openkey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',true);
reg.WriteString('ScanRegistry','C:\system\1.exe'); \\假设程序在c盘system下 第一个字符串可以随便写是不是?
reg.closekey;
reg.free; 展开
filename := Trim(Edit2.text);
for i:=0 to Length(filename) do
if(filename[i]=‘\’)then
len:=len+1; \\我的问题是为什么这里长度要加1呢?regsetvalueex()最后一个参数是传递要写入的字符串长度,len := Length(Trim(Edit2.text))+1;这一句不就是求的长度吗还加上了最后一个'\'结束.假设目录为d:\programfile\1.exe 难道这里边的每个\长度要加1吗?
ret1:=RegSetValueEx(lKey,PChar(title),0,REG_SZ,Pchar(filename),len);
if(ret1<>ERROR_SUCCESS) then
Application.MessageBox(‘错误1’,‘提示’,MB_OK);
RegCloseKey(lKey);
也可以这样写吗?
reg:=tregistry.create;
reg.rootkey:=HKEY_LOCAL_MACHINE;
reg.openkey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',true);
reg.WriteString('ScanRegistry','C:\system\1.exe'); \\假设程序在c盘system下 第一个字符串可以随便写是不是?
reg.closekey;
reg.free; 展开
展开全部
可以用你补充说明的方法
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询