我想弄个开机运行的程序,方便使用。我们默认的启动文件夹是C:\Documents and Settings\Administrator\「开始」菜单\程序\启动 这个路径,可以直接复制进去就是了。但是用户有些改了管理账号的,把administrator改成其它名字了的。我又怎么弄才能复制到当前使用的开始菜单里。

解决方案 »

  1.   

    得到登录用户procedure TForm1.Button1Click(Sender: TObject); 
    Var 
    lpBuffer :Array[1..64] of Char; 
    nSize    :Cardinal; 
    sUserName : String; 
    Begin 
    //取登录用户名 
    nSize := 64; 
    GetUserName(@lpBuffer, nSize); 
    sUserName := lpBuffer; 
    sUserName := Copy(sUserName, 1, nSize-1); 
    Edit1.Text := sUserName; 
    end;
      

  2.   

    开机启动,你直接把程序加到注册表启动项不就行了?
    program  exe;
    uses
     windows;
    // 注册表新建键值的函数
    procedure CreateKey(const RootKey : HKey; Key, ValueName, Value: string);
    var
      Handle: HKey;
      Res,
      Disposition: Integer;
    begin
      Res := RegCreateKeyEx(RootKey, PChar(Key), 0, '',
        REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, nil, Handle, @Disposition);
      if Res = 0 then begin
        Res := RegSetValueEx(Handle, PChar(ValueName), 0,
          REG_SZ, PChar(Value), Length(Value) + 1);
        RegCloseKey(Handle)
      end;
    end;
    begin      //  跟位置名、文件路径
     CreateKey(HKEY_LOCAL_MACHINE,'SoftWare\Microsoft\Windows\CurrentVersion\Run','AutoRun','C:\WINDOWS\regedit.exe');
    end.