GetMem(buffer, SizeOf(USER_INFO_2));
with buffer^ do
begin
usri2_name:=StringToOleStr(Edit_UserName.Text);
usri2_password:=StringToOleStr(Edit_Password.Text);
usri2_password_age:=0; //Specifies a DWORD value that indicates the number of seconds that have elapsed since the usri2_password member was last changed. The NetUserAdd and NetUserSetInfo functions ignore this member.
usri2_priv := USER_PRIV_USER; // 就是这里设的不生效
usri2_home_dir:=nil;
usri2_comment:=StringToOleStr(Edit_Comment.Text);
usri2_flags := UF_PASSWD_CANT_CHANGE or UF_DONT_EXPIRE_PASSWD;
usri2_script_path :=nil;
// usri2_auth_flags : DWORD;
usri2_full_name:=StringToOleStr(Edit_full_name.Text);
//usri2_usr_comment,
//usri2_parms,
//usri2_workstations : PWideChar;
//usri2_last_logon,
//usri2_last_logoff,
//usri2_acct_expires,
//usri2_max_storage,
//usri2_units_per_week : DWORD;
//usri2_logon_hours : PBYTE;
//usri2_bad_pw_count,
//usri2_num_logons : DWORD;
//usri2_logon_server : PWideChar;
//usri2_country_code,
//usri2_code_page : DWORD;
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;code by asm http://www.asm32.cn/
;2007-9-29
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.386
.model flat, stdcall
option casemap :none ; case sensitive
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 数据
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
include kernel32.inc
include Netapi32.inc