Dlg_Pwd.cpp 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. // Dlg_Pwd.cpp : 实现文件
  2. //
  3. #include "stdafx.h"
  4. #include "IDE.h"
  5. #include "Dlg_Pwd.h"
  6. #include "MainFrm.h"
  7. #include "md5class.h"
  8. #include ".\dlg_pwd.h"
  9. // CDlg_Pwd 对话框
  10. IMPLEMENT_DYNAMIC(CDlg_Pwd, CDialog)
  11. CDlg_Pwd::CDlg_Pwd(CWnd* pParent /*=NULL*/)
  12. : CDialog(CDlg_Pwd::IDD, pParent)
  13. {
  14. m_nShowType = 0;
  15. }
  16. CDlg_Pwd::~CDlg_Pwd()
  17. {
  18. }
  19. void CDlg_Pwd::DoDataExchange(CDataExchange* pDX)
  20. {
  21. CDialog::DoDataExchange(pDX);
  22. DDX_Control(pDX, IDC_EDIT_PWD1, m_ctrlPwd1);
  23. DDX_Control(pDX, IDC_EDIT_PWD2, m_ctrlPwd2);
  24. }
  25. BEGIN_MESSAGE_MAP(CDlg_Pwd, CDialog)
  26. ON_BN_CLICKED(IDOK, OnBnClickedOk)
  27. ON_WM_SHOWWINDOW()
  28. END_MESSAGE_MAP()
  29. // CDlg_Pwd 消息处理程序
  30. BOOL CDlg_Pwd::OnInitDialog()
  31. {
  32. CDialog::OnInitDialog();
  33. // TODO: 在此添加额外的初始化
  34. CHAR strFile[MAX_FILE_LENGTH + 1] = "";
  35. wsprintf(strFile, "%s\\clientset.ini", g_strDirectory);
  36. CHAR strPwd[MAX_PASSWORD_LENGTH + 1] = "";
  37. GetPrivateProfileString("User", "ControlPwd","", strPwd,sizeof(strPwd), strFile );
  38. if( m_nShowType==1 )
  39. {
  40. GetDlgItem(IDC_STATIC_1)->ShowWindow( SW_HIDE );
  41. GetDlgItem(IDC_EDIT_PWD2)->ShowWindow( SW_HIDE );
  42. m_sPwd = (CString)strPwd;
  43. }
  44. else
  45. {
  46. m_ctrlPwd1.SetWindowText( strPwd );
  47. m_ctrlPwd2.SetWindowText( strPwd );
  48. UpdateData(false);//
  49. }
  50. return TRUE; // return TRUE unless you set the focus to a control
  51. // 异常: OCX 属性页应返回 FALSE
  52. }
  53. void CDlg_Pwd::OnBnClickedOk()
  54. {
  55. UpdateData(TRUE);
  56. CHAR strFile[MAX_FILE_LENGTH + 1] = "";
  57. wsprintf(strFile, "%s\\clientset.ini", g_strDirectory);
  58. if( m_nShowType==1 )
  59. {
  60. CString strNewPwd, strOldPwd, strConfirmPwd, strMsg;
  61. //检查数据有效性
  62. m_ctrlPwd1.GetWindowText(strNewPwd);
  63. CMD5 md5NewPwd;
  64. md5NewPwd.setPlainText( (char *)(LPCTSTR)strNewPwd );
  65. if( m_sPwd!=md5NewPwd.getMD5Digest() )
  66. {
  67. MessageBox(g_strpasswordInCorrect, g_strTip, MB_ICONINFORMATION);
  68. return;
  69. }
  70. }
  71. else
  72. {
  73. CString strNewPwd,strConfirmPwd,strMsg;
  74. //检查数据有效性
  75. m_ctrlPwd1.GetWindowText(strNewPwd);
  76. m_ctrlPwd2.GetWindowText(strConfirmPwd);
  77. if(strNewPwd.Compare(strConfirmPwd))
  78. {
  79. m_ctrlPwd1.SetWindowText("");
  80. m_ctrlPwd1.SetWindowText("");
  81. m_ctrlPwd1.SetFocus();
  82. MessageBox(g_strPasswordNotMatch1, g_strTip, MB_ICONINFORMATION);
  83. return;
  84. }
  85. CMD5 md5NewPwd;
  86. md5NewPwd.setPlainText( (char *)(LPCTSTR)strNewPwd );
  87. CHAR strPWD[MAX_FILE_LENGTH + 1] = "";
  88. CString strPwd = CString(md5NewPwd.getMD5Digest());
  89. WritePrivateProfileString("User", "ControlPwd", strPwd, strFile );
  90. }
  91. OnOK();
  92. }
  93. void CDlg_Pwd::OnShowWindow(BOOL bShow, UINT nStatus)
  94. {
  95. CDialog::OnShowWindow(bShow, nStatus);
  96. // TODO: 在此处添加消息处理程序代码
  97. m_ctrlPwd1.SetFocus();
  98. }