ModifyPwd.cpp
上传用户:hxb_1234
上传日期:2010-03-30
资源大小:8328k
文件大小:3k
源码类别:

VC书籍

开发平台:

Visual C++

  1. // ModifyPwd.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "play.h"
  5. #include "ModifyPwd.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CModifyPwd dialog
  13. CModifyPwd::CModifyPwd(CWnd* pParent /*=NULL*/)
  14. : CDialog(CModifyPwd::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(CModifyPwd)
  17. m_NewPwd = _T("");
  18. m_OldPwd = _T("");
  19. m_ReNewPwd = _T("");
  20. //}}AFX_DATA_INIT
  21. m_count=0;
  22. }
  23. void CModifyPwd::DoDataExchange(CDataExchange* pDX)
  24. {
  25. CDialog::DoDataExchange(pDX);
  26. //{{AFX_DATA_MAP(CModifyPwd)
  27. DDX_Text(pDX, IDC_NEWPWD, m_NewPwd);
  28. DDX_Text(pDX, IDC_OlDPWD, m_OldPwd);
  29. DDX_Text(pDX, IDC_RENEWPWD, m_ReNewPwd);
  30. //}}AFX_DATA_MAP
  31. }
  32. BEGIN_MESSAGE_MAP(CModifyPwd, CDialog)
  33. //{{AFX_MSG_MAP(CModifyPwd)
  34. ON_BN_CLICKED(IDC_OK, OnOk)
  35. //}}AFX_MSG_MAP
  36. END_MESSAGE_MAP()
  37. /////////////////////////////////////////////////////////////////////////////
  38. // CModifyPwd message handlers
  39. void CModifyPwd::OnOk() 
  40. {
  41. // TODO: Add your control notification handler code here
  42.     char * m_NewPasswd;
  43. m_count++;
  44. UpdateData(TRUE);
  45.     m_NewPasswd=m_NewPwd.GetBuffer(50);
  46. m_NewPwd.ReleaseBuffer();
  47. if((strcmp(m_OldPwd,dw_Passwd))!=0 &&m_count<2)
  48. {
  49.   MessageBox("您输入的旧密码不对,请重新输入");
  50.   CWnd* pWnd=GetDlgItem(IDC_OlDPWD);
  51.   pWnd->SetWindowText("");
  52.   pWnd->SetFocus();
  53. }
  54. if((strcmp(m_OldPwd,dw_Passwd))!=0 &&m_count==2)
  55. {
  56.     fail=TRUE;
  57. CDialog::OnOK();
  58. }
  59. if((strcmp(m_OldPwd,dw_Passwd))==0)
  60. {
  61.   if((strcmp(m_ReNewPwd,m_NewPwd))!=0)
  62.   {
  63.     MessageBox("设置不对,请重新输入");
  64.         CWnd* pWnd1=GetDlgItem(IDC_NEWPWD);
  65.     pWnd1->SetWindowText("");
  66. pWnd1->SetFocus();
  67. CWnd* pWnd2=GetDlgItem(IDC_RENEWPWD);
  68.     pWnd2->SetWindowText("");
  69.   }
  70.   if((strcmp(m_ReNewPwd,m_NewPwd))==0)
  71.   {
  72.    if((RegSetValueEx(PasswdKey,"Passwd",
  73. 0,REG_SZ,(CONST BYTE*)m_NewPasswd,strlen(m_NewPasswd)+1))==ERROR_SUCCESS)
  74.   {
  75.   RegFlushKey(PasswdKey);
  76.   RegCloseKey(PasswdKey);
  77.   }
  78.    else
  79.    fail=TRUE;
  80.   CDialog::OnOK();
  81.   }
  82. }
  83. }
  84. void CModifyPwd::OnCancel() 
  85. {
  86. // TODO: Add extra cleanup here
  87. fail=TRUE;
  88. CDialog::OnCancel();
  89. }
  90. BOOL CModifyPwd::OnInitDialog() 
  91. {
  92. CDialog::OnInitDialog();
  93. // TODO: Add extra initialization here
  94. CWnd* pWnd=GetDlgItem(IDC_OlDPWD);
  95.     pWnd->SetFocus();
  96. return FALSE;  // return TRUE unless you set the focus to a control
  97.               // EXCEPTION: OCX Property Pages should return FALSE
  98. }