给出一个用户名和密码,如何验证它是不是正确的windows密码? 在一个地方需要用户填写windows用户名密码,是软件需要,为什么大家就不要追问了。用户名已经有办法获取了,可以校验用户填的用户名对不对。现在还希望能校验一下填入的这个密码对不对,如果不对要提示用户重新填写密码。请问怎么做?最好是用windows api的。多谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就一个API,具体自己查MSDN~~示例代码:#include <iostream.h>#include <windows.h>#pragma comment(lib,"user32.lib")#pragma comment(lib,"Advapi32.lib")void main(){ HANDLE hUser; char szUserName[MAX_PATH] = "administrator"; char szPassWord[MAX_PATH] = "visualstudio"; if(LogonUser(szUserName,".",szPassWord,LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT,&hUser)) { cout<<"Windows用户密码正确!"<<endl; } else { cout<<"Windows用户或密码错误!"<<endl; }}运行截图: 恩,看到了,但这样有个问题1L的大哥可能没留意!有的电脑使用的是空密码,而默认情况下windows安全策略是启用了“使用空白密码的本地帐户只允许进行控制台操作”,此时登录是失败的,GetLastError是〖1327〗-登录失败: 用户帐户限制。 wangningyu的方法对以设置了密码的windows都ok,就是没有吧空白密码的情况也纳入进来。 #include <iostream.h>#include <windows.h>#pragma comment(lib,"user32.lib")#pragma comment(lib,"Advapi32.lib")void main(){ HANDLE hUser; char szUserName[MAX_PATH] = "administrator"; char szPassWord[MAX_PATH] = "visualstudio"; bool bret = LogonUser(szUserName,".",szPassWord,LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT,&hUser); if (!bret && (strlen(strPassWord == 0) && (GetLastError()==1327) )) bret = true; if(bret) { cout<<"Windows用户密码正确!"<<endl; } else { cout<<"Windows用户或密码错误!"<<endl; }}OKlogonuser方法是1L大侠提供的,大家感谢他吧! 急!基于对话框MFC代码放在Dlginit中,运行不显示对话框,只产生进程!是不是while循环放错位置? windows程序既然已经是flat模式了,为什么还要说"数据段""代码段"这些概念? MFC中如何管理超大内存 大家有什么比较经典的 C的源码 推荐不 static LPCTSTR类型初始化的问题 请教EQ算法? 在任务栏中TrackPopupMenuEx弹出的菜单在不被选择的情况情况下怎么不会消失? ※※※※怎样拖动图标,直线的一个端点??!!※※※※ 高分跪求:分组问题 百思不得其解 下面的代码有内存泄漏么?还是存在其他的问题。 MFC窗体间消息传递
#include <iostream.h>
#include <windows.h>#pragma comment(lib,"user32.lib")
#pragma comment(lib,"Advapi32.lib")void main()
{
HANDLE hUser;
char szUserName[MAX_PATH] = "administrator";
char szPassWord[MAX_PATH] = "visualstudio";
if(LogonUser(szUserName,".",szPassWord,LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT,&hUser))
{
cout<<"Windows用户密码正确!"<<endl;
}
else
{
cout<<"Windows用户或密码错误!"<<endl;
}
}运行截图:
#include <windows.h>#pragma comment(lib,"user32.lib")
#pragma comment(lib,"Advapi32.lib")void main()
{
HANDLE hUser;
char szUserName[MAX_PATH] = "administrator";
char szPassWord[MAX_PATH] = "visualstudio";
bool bret = LogonUser(szUserName,".",szPassWord,LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT,&hUser);
if (!bret && (strlen(strPassWord == 0) && (GetLastError()==1327) ))
bret = true;
if(bret)
{
cout<<"Windows用户密码正确!"<<endl;
}
else
{
cout<<"Windows用户或密码错误!"<<endl;
}
}OK
logonuser方法是1L大侠提供的,大家感谢他吧!