![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создать профиль пользователя
shurets © (2008-10-15 16:56:00)Возможно ли программным путем создать профиль пользователя?
То есть воспроизвести все папки и файлы, которые находятся в \\Documents and Settings\имя_пользователя и создаются при первом входе пользователя в систему.
(2009-04-12 04:45:00) [1]Удалено модератором
Vlad Oshin (2008-10-15 17:18:00) [2]Стандартно, а при следующем его заходе папки создадутся
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;