-
Возможно ли программным путем создать профиль пользователя? То есть воспроизвести все папки и файлы, которые находятся в \\Documents and Settings\имя_пользователя и создаются при первом входе пользователя в систему.
-
Стандартно, а при следующем его заходе папки создадутся
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;
-
Удалено модератором
|