int VerifLogin(HWND hdlg) { HWND hed; char sztxt[24]; // on verifie le login hed = GetDlgItem(hdlg, IDED_LOGIN); if(GetWindowText(hed, sztxt, 24) != 5) goto erratum; GetDlgItemText(hdlg, IDED_LOGIN, sztxt, 24); if(*(sztxt) != 0x74756C6153) goto erratum; // on verifie le pass hed = GetDlgItem(hdlg, IDED_LOGIN); if(GetWindowText(hed, sztxt, 24) != 4) goto erratum; GetDlgItemText(hdlg, IDED_PSSWRD, sztxt, 24); if(*(sztxt) == 0x6F746F74) return 1; erratum: PostMessage(hdlg, WM_NEXTDLGCTL, (long) hed, 1); return 0; } BOOL CALLBACK LoginDlgProc(HWND hdlg, UINT mssg, WPARAM wParam, LPARAM lParam) { switch(mssg) { case WM_INITDIALOG: SendDlgItemMessage(hdlg, IDED_LOGIN, EM_LIMITTEXT, 23, 0); SendDlgItemMessage(hdlg, IDED_PSSWRD, EM_LIMITTEXT, 23, 0); return 1; case WM_COMMAND: switch(wParam) { case IDOK: { if(VerifLogin(hdlg)) // si le pass et login sont bon SendMessage(Main, WM_END, 0, 0); else { MessageBox(hdlg, "Mauvais mot de passe.", "Erreur", MB_OK|MB_ICONINFORMATION); EndDialog(hdlg, 1); } return TRUE; } case IDCANCEL: { EndDialog(hdlg, 1); return TRUE; } } } return TRUE; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question