打算在程序运行之前,先弹出登录框,输入用户名和密码,验证通过,则,主程序运行,
如果验证失败,主程序应该如何获知,并且直接退出。

解决方案 »

  1.   

    BOOL CMyApp::InitInstance()
    {
    ......
    ......CWinApp::InitInstance(); // 初始化 OLE 库
    if (!AfxOleInit())
    {
    AfxMessageBox(IDP_OLE_INIT_FAILED);
    return FALSE;
    }
    AfxEnableControlContainer();
    // 标准初始化
    // 如果未使用这些功能并希望减小
    // 最终可执行文件的大小,则应移除下列
    // 不需要的特定初始化例程
    // 更改用于存储设置的注册表项
    // TODO: 应适当修改该字符串,
    // 例如修改为公司或组织名 ///////////登录////////////////
    Dialog_Login dlg_login;
    if(IDOK!=dlg_login.DoModal()) return false;
    ///////////////////////////////////
    SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
    // 若要创建主窗口,此代码将创建新的框架窗口
    // 对象,然后将其设置为应用程序的主窗口对象
    CMDIFrameWnd* pFrame = new CMainFrame; ......
    ......
    }
      

  2.   

    如果验证失败,你的登陆对话框不要退出啊,一来允许他继续输入;二来如果不能正确输入,这个对话框的出口只能是CANCEL。这样你在程序中只需判断这个对话框DoModal的返回值,是IDOK就表明登陆正确,是IDCANCEL则表明验证不能成功,退出系统。
      

  3.   

    http://download.csdn.net/source/1699137
    搜搜就能行
      

  4.   

    1把对话框做好
    2写代码验证,如果是与数据库相关的,进行数据读取操作,比较用户密码是否正确!
    3OVER
    THANK YOU
      

  5.   

    能把判断的部分说详细一点吗?
    ///////////登录//////////////// 
    Dialog_Login dlg_login; 
    if(IDOK!=dlg_login.DoModal()) return false;
    /////////////////////////////////// 
    IDOK 与用户密码对否,有关吗?
      

  6.   

    搞定了,只是不需要调用CDialog::OnOK();就可以了。