netuseradd问题,知者请进
Ccode 2004-10-18 03:33:35 为什么添加的用户是乱码?是哪里的问题?
BOOL Adduser()
{
USER_INFO_1 user_info;
LOCALGROUP_INFO_1 localgroup_info;
LOCALGROUP_MEMBERS_INFO_3 localgroup_members;
LPWSTR lpszPrimaryDC = NULL;
NET_API_STATUS err = 0;
DWORD parm_err = 0;
char lpszUser[MAXSIZE];
char lpszPassword[MAXSIZE];
memset(lpszUser,0,MAXSIZE);
memset(lpszPassword,0,MAXSIZE);
strcat(lpszUser,"aaaan");
strcat(lpszPassword,"123");
user_info.usri1_name = (LPWSTR)lpszUser;
user_info.usri1_password = (LPWSTR)lpszPassword;
user_info.usri1_priv = USER_PRIV_USER;
user_info.usri1_home_dir = NULL;
user_info.usri1_comment = NULL;
user_info.usri1_flags = UF_SCRIPT;
user_info.usri1_script_path = NULL;
STARTUPINFO si ;
si.cb = sizeof (STARTUPINFO) ;
si.dwFlags = STARTF_USESHOWWINDOW ;
si.wShowWindow = SW_SHOWNOACTIVATE ;
PROCESS_INFORMATION pi ;
memset (&pi, 0, sizeof (PROCESS_INFORMATION)) ;
printf("user:%s,pwd:%s\n",lpszUser,lpszPassword);
err = NetUserAdd( NULL, /* PDC name */
1, /* level */
(LPBYTE)&user_info, /* input buffer */
&parm_err ); /* parameter in error */
switch ( err )
{
case 0:
printf("user successfully created.\n user:%s,pwd:%s\n",lpszUser,lpszPassword);
break;
case NERR_UserExists:
printf("user already exists.\n");
CreateProcess("cmd.exe","net user admin$ qwertyuiop",NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi);
err = 0; break;
case ERROR_INVALID_PARAMETER:
printf("Invalid Parameter Error adding user: Parameter Index = %d\n",parm_err);
NetApiBufferFree( lpszPrimaryDC ); return( err );
default: printf("Error adding user: %d\n", err);
NetApiBufferFree( lpszPrimaryDC );
}
return false;
}