本人有一台电脑(Win7 x64),用户名中含有空格等字符,用户名为:Candy Yuan, 密码是: 11, 用MFC编程,用如下代码测试:
HANDLE token;
if (::LogonUser (L"Candy Yuan", L".", L"11", LOGON32_LOGON_INTERACTIVE,
LOGON32_PROVIDER_DEFAULT, &token))
{
......
}
else
{
DWORD e = ::GetLastError ();
char msg[512] = {0};
sprintf(msg, "Unable to logon user, err=%d, %s\n",e, Win32_Error_Message (e).c_str ());
::OutputDebugString(msg);
}
其结果总是FALSE,获取到的错误码为:1326 (Logon failure: unknown user name or bad password. ),如果用户名改为CandyYuan或是其他不含空格的名字,则可以正常登录并返回成功,请问各位专家,这是什么原因引起的,已经花了一天时间了,还没有找到原因,急啊.