Конференция "WinAPI" » Создать профиль пользователя
 
  • shurets © (15.10.08 16:56) [0]
    Возможно ли программным путем создать профиль пользователя?
    То есть воспроизвести все папки и файлы, которые находятся в  \\Documents and Settings\имя_пользователя и создаются при первом входе пользователя в систему.
  • Vlad Oshin © (15.10.08 17:18) [1]
    Стандартно, а при следующем его заходе папки создадутся

    interface

    uses
     Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
     StdCtrls;

    type
     TForm1 = class(TForm)
       Button1: TButton;
       Edit1: TEdit;
       procedure Button1Click(Sender: TObject);
     private
       { Private declarations }
     public
       { Public declarations }
     end;
    _USER_INFO_1 = Record
     usri1_name: PWideChar;
     usri1_password: PWideChar;
     usri1_password_age: cardinal;
     usri1_priv: cardinal;
     usri1_home_dir: PWIdeChar;
     usri1_comment: PWIdeChar;
     usri1_flags: cardinal;
     usri1_script_path: PWIdeChar;
                  End;
    TUserInfo1 = _USER_INFO_1;
    PUserInfo1 = ^TUserInfo1;

    var
     Form1: TForm1;

    implementation

    {$R *.DFM}

    Function NetUserAdd (  Server: PwideChar; level: cardinal;
     BufPtr: PUserInfo1; Parm_Err: cardinal ): LongInt; STDCALL; EXTERNAL 'netapi32.dll';

    Function NetUserSetInfo (  Server: PwideChar; username: PwideChar;
     level:cardinal; BufPtr: PUserInfo1; Parm_Err: cardinal ): LongInt; STDCALL; EXTERNAL 'netapi32.dll';

    procedure TForm1.Button1Click(Sender: TObject);
    Const
    UF_SCRIPT = $0001;
    USER_PRIV_USER = 1;

    Procedure CreateUser;
    Var
    ui: TUSERINFO1;
    nStatus: DWORD;
    PWUser: PWideChar;
    IUser: Integer;
    ServName:PWideChar;
    Begin
    iUser := (Length (Edit1.Text) + 1);
    GetMem (PWUser, SizeOf (WideChar) * iUser);
    StringToWideChar (Edit1.text, PWUser, iUser);

    //Создаем пользователя с логином из Edit1 и паролем Password на сервере Server
    ServName:='';
    ui.usri1_name := PWUser;
    ui.usri1_password := '1';
    ui.usri1_priv := USER_PRIV_USER;
    ui.usri1_home_dir := Nil;
    ui.usri1_comment := 'added by program';
    ui.usri1_flags := UF_SCRIPT;
    ui.usri1_script_path := Nil;

    nStatus := NetUserAdd (ServName, 1, @ui, 0);
    //nStatus := NetUserSetInfo(servname,'RVgamer',1,@ui,0);
    FreeMem (PWUser);
    End;
    begin
     CreateUser;
    end;
  • имя (12.04.09 04:45) [2]
    Удалено модератором
 
Конференция "WinAPI" » Создать профиль пользователя
Есть новые Нет новых   [134435   +0][b:0.001][p:0.001]