我有一个exe程序
但是我想只要电脑开启
程序自动运行
但是我不想用计划任务
最好是用delphi写的例子

解决方案 »

  1.   

    2000下使用NT Service就可以
    Win9x就在Registry的Run下面具体代码等别人来说了,我只给方法的:)http://lysoft.7u7.net
      

  2.   

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    里面加入
    var
      Reg:Tregistry;
    begin
       Reg:=Tregistry.Create;
       Reg.RootKey:=HKEY_LOCAL_MACHINE;
       Try
       Reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True);
       Reg.WriteString('天地数据服务',ExtractFileDir(application.ExeName)+'\abc.exe');
       finally
       Reg.CloseKey;
       Reg.Free;
       end;
    end;
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs,registry;type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure setautorun(aprogtitle,acmdline:string;arunonce:boolean);
    var hkey:string;
        hreg:treginifile;
    begin
     if arunonce then
    //程序只运行一次
     hkey:='once'
     else
     hkey:='';
     hreg:=treginifile.Create('');
     //treginifile类的对象需要创建
     hreg.RootKey:=HKEY_LOCAL_MACHINE;
     //设置根值
     hreg.WriteString('software\microsoft\windows\currentversion\run'
                      +hkey+#0,
                      aprogtitle,
                      //程序名称,可以自己定义值
                      acmdline);
                      //命令行数据,必须为该程序的绝对路径+程序完整名称
    hreg.destroy;
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    setautorun(application.Title,application.ExeName,false);
    //application.Title 程序标题
    //application.ExeName  程序的绝对路径+程序完整名称
    end;end.解决了给分吧