var 
    tempreg:TRegistry;
begin
    tempreg:=TRegistry.Create;
    tempreg.RootKey:=HKEY_LOCAL_MACHINE;
    tempreg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True);
    tempreg.WriteString('金山词霸','"C:\Program Files\jscb3\xdict.exe"');
    tempreg.Closekey;
    tempreg.Free;
end; 在注册表里SOFTWARE\MICROSOFT\WINDOWS\RUN\有我的程序地址
为什么就是开机不自动启动我的程序呢?一点点反应也没有!!!

解决方案 »

  1.   

    有时需要让Windows在启动时自动运行你的程序,如何在程序中实现呢?     使用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; 
    本页版主:傅贵,最后修改日期:98.3.29 //不可能吧,你用EXCEPT看一看有没有什么异常发生呢?还有,看一看注册表中这个值 是不是成功写进入了呢?
      

  2.   

    有时需要让Windows在启动时自动运行你的程序,如何在程序中实现呢?     使用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; 
    本页版主:傅贵,最后修改日期:98.3.29 //不可能吧,你用EXCEPT看一看有没有什么异常发生呢?还有,看一看注册表中这个值 是不是成功写进入了呢?
      

  3.   

    在Windows启动时启动自己的程序
      在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run下设置相应键值即可。
    可以用以下的代码
     Reg.RootKey:=HKEY_CURRENT_USER;
     Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',true);
     Reg.WriteString('Test','program'{here is your program});这是一个资料,跟你的根键不一样~~~~~