⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optionspasswordpolicy.cpp

📁 Password Safe Password Safe is a password database utility. Users can keep their passwords securely
💻 CPP
字号:
// OptionsPasswordPolicy.cpp : implementation file//#include "stdafx.h"#include "passwordsafe.h"#include "corelib/PwsPlatform.h"#if defined(POCKET_PC)  #include "pocketpc/resource.h"#else  #include "resource.h"#endif#include "OptionsPasswordPolicy.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// COptionsPasswordPolicy property pageIMPLEMENT_DYNCREATE(COptionsPasswordPolicy, CPropertyPage)COptionsPasswordPolicy::COptionsPasswordPolicy() : CPropertyPage(COptionsPasswordPolicy::IDD){	//{{AFX_DATA_INIT(COptionsPasswordPolicy)	//}}AFX_DATA_INIT}COptionsPasswordPolicy::~COptionsPasswordPolicy(){}void COptionsPasswordPolicy::DoDataExchange(CDataExchange* pDX){	CPropertyPage::DoDataExchange(pDX);	//{{AFX_DATA_MAP(COptionsPasswordPolicy)	DDX_Text(pDX, IDC_DEFPWLENGTH, m_pwlendefault);	DDX_Check(pDX, IDC_USEDIGITS, m_pwusedigits);	DDX_Check(pDX, IDC_USEHEXDIGITS, m_pwusehexdigits);	DDX_Check(pDX, IDC_USELOWERCASE, m_pwuselowercase);	DDX_Check(pDX, IDC_USESYMBOLS, m_pwusesymbols);	DDX_Check(pDX, IDC_USEUPPERCASE, m_pwuseuppercase);	DDX_Check(pDX, IDC_EASYVISION, m_pweasyvision);	//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(COptionsPasswordPolicy, CPropertyPage)	//{{AFX_MSG_MAP(COptionsPasswordPolicy)	ON_BN_CLICKED(IDC_USELOWERCASE, OnUselowercase)	ON_BN_CLICKED(IDC_USEUPPERCASE, OnUseuppercase)	ON_BN_CLICKED(IDC_USEDIGITS, OnUsedigits)	ON_BN_CLICKED(IDC_USESYMBOLS, OnUsesymbols)	ON_BN_CLICKED(IDC_USEHEXDIGITS, OnUsehexdigits)	ON_BN_CLICKED(IDC_EASYVISION, OnUseeasyvision)	//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// COptionsPasswordPolicy message handlersBOOL COptionsPasswordPolicy::OnInitDialog() {   CPropertyPage::OnInitDialog();	   CSpinButtonCtrl*  pspin = (CSpinButtonCtrl *)GetDlgItem(IDC_SPIN1);   pspin->SetBuddy(GetDlgItem(IDC_DEFPWLENGTH));   pspin->SetRange(4, 1024);   pspin->SetBase(10);   pspin->SetPos(m_pwlendefault);   if (IsDlgButtonChecked(IDC_USELOWERCASE) ||       IsDlgButtonChecked(IDC_USEUPPERCASE) ||       IsDlgButtonChecked(IDC_USEDIGITS) ||       IsDlgButtonChecked(IDC_USESYMBOLS) ||       IsDlgButtonChecked(IDC_EASYVISION) )   {     GetDlgItem(IDC_USEHEXDIGITS)->EnableWindow(FALSE);		     GetDlgItem(IDC_USELOWERCASE)->EnableWindow(TRUE);     GetDlgItem(IDC_USEUPPERCASE)->EnableWindow(TRUE);     GetDlgItem(IDC_USEDIGITS)->EnableWindow(TRUE);     GetDlgItem(IDC_USESYMBOLS)->EnableWindow(TRUE);     GetDlgItem(IDC_EASYVISION)->EnableWindow(TRUE);   }   else   {     GetDlgItem(IDC_USEHEXDIGITS)->EnableWindow(TRUE);	        GetDlgItem(IDC_USELOWERCASE)->EnableWindow(FALSE);     GetDlgItem(IDC_USEUPPERCASE)->EnableWindow(FALSE);     GetDlgItem(IDC_USEDIGITS)->EnableWindow(FALSE);     GetDlgItem(IDC_USESYMBOLS)->EnableWindow(FALSE);     GetDlgItem(IDC_EASYVISION)->EnableWindow(FALSE);   }   return TRUE;  // return TRUE unless you set the focus to a control	              // EXCEPTION: OCX Property Pages should return FALSE}void COptionsPasswordPolicy::OnUselowercase() {	if (IsDlgButtonChecked(IDC_USELOWERCASE) ||	    IsDlgButtonChecked(IDC_USEUPPERCASE) ||	    IsDlgButtonChecked(IDC_USEDIGITS) ||	    IsDlgButtonChecked(IDC_USESYMBOLS) ||	    IsDlgButtonChecked(IDC_EASYVISION) )	{	  GetDlgItem(IDC_USEHEXDIGITS)->EnableWindow(FALSE);	}	else	{	  GetDlgItem(IDC_USEHEXDIGITS)->EnableWindow(TRUE);	}}void COptionsPasswordPolicy::OnUseuppercase() {	if (IsDlgButtonChecked(IDC_USELOWERCASE) ||	    IsDlgButtonChecked(IDC_USEUPPERCASE) ||	    IsDlgButtonChecked(IDC_USEDIGITS) ||	    IsDlgButtonChecked(IDC_USESYMBOLS) ||	    IsDlgButtonChecked(IDC_EASYVISION) )	{	  GetDlgItem(IDC_USEHEXDIGITS)->EnableWindow(FALSE);	}	else	{	  GetDlgItem(IDC_USEHEXDIGITS)->EnableWindow(TRUE);	}}void COptionsPasswordPolicy::OnUsedigits() {	if (IsDlgButtonChecked(IDC_USELOWERCASE) ||	    IsDlgButtonChecked(IDC_USEUPPERCASE) ||	    IsDlgButtonChecked(IDC_USEDIGITS) ||	    IsDlgButtonChecked(IDC_USESYMBOLS) ||	    IsDlgButtonChecked(IDC_EASYVISION) )	{	  GetDlgItem(IDC_USEHEXDIGITS)->EnableWindow(FALSE);	}	else	{	  GetDlgItem(IDC_USEHEXDIGITS)->EnableWindow(TRUE);	}}void COptionsPasswordPolicy::OnUsesymbols() {	if (IsDlgButtonChecked(IDC_USELOWERCASE) ||	    IsDlgButtonChecked(IDC_USEUPPERCASE) ||	    IsDlgButtonChecked(IDC_USEDIGITS) ||	    IsDlgButtonChecked(IDC_USESYMBOLS) ||	    IsDlgButtonChecked(IDC_EASYVISION) )	{	  GetDlgItem(IDC_USEHEXDIGITS)->EnableWindow(FALSE);	}	else	{	  GetDlgItem(IDC_USEHEXDIGITS)->EnableWindow(TRUE);	}}void COptionsPasswordPolicy::OnUsehexdigits() {	if ( IsDlgButtonChecked(IDC_USEHEXDIGITS) )	{	  GetDlgItem(IDC_USELOWERCASE)->EnableWindow(FALSE);	  GetDlgItem(IDC_USEUPPERCASE)->EnableWindow(FALSE);	  GetDlgItem(IDC_USEDIGITS)->EnableWindow(FALSE);	  GetDlgItem(IDC_USESYMBOLS)->EnableWindow(FALSE);	  GetDlgItem(IDC_EASYVISION)->EnableWindow(FALSE);	}	else	{	  GetDlgItem(IDC_USELOWERCASE)->EnableWindow(TRUE);	  GetDlgItem(IDC_USEUPPERCASE)->EnableWindow(TRUE);	  GetDlgItem(IDC_USEDIGITS)->EnableWindow(TRUE);	  GetDlgItem(IDC_USESYMBOLS)->EnableWindow(TRUE);	  GetDlgItem(IDC_EASYVISION)->EnableWindow(TRUE);	}}void COptionsPasswordPolicy::OnUseeasyvision() {	if (IsDlgButtonChecked(IDC_USELOWERCASE) ||	    IsDlgButtonChecked(IDC_USEUPPERCASE) ||	    IsDlgButtonChecked(IDC_USEDIGITS) ||	    IsDlgButtonChecked(IDC_USESYMBOLS) ||	    IsDlgButtonChecked(IDC_EASYVISION) )	{	  GetDlgItem(IDC_USEHEXDIGITS)->EnableWindow(FALSE);	}	else	{	  GetDlgItem(IDC_USEHEXDIGITS)->EnableWindow(TRUE);	}}BOOL COptionsPasswordPolicy::OnKillActive(){  CPropertyPage::OnKillActive();  // Check that options, as set, are valid.  if (m_pwusehexdigits && (m_pwuselowercase || m_pwuseuppercase || m_pwusedigits || m_pwusesymbols))    {      AfxMessageBox(_T("Hexadecimal is mutually exclusive to all other options!"));      return FALSE;    }  if (m_pwusehexdigits)    {      if (m_pwlendefault % 2 != 0)	{	  AfxMessageBox(_T("Passwords generated in hexadecimal format must have even lengths\nas two hexadecimal characters make up a single ASCII character."));	  return FALSE;	}    }  else if (!m_pwuselowercase && !m_pwuseuppercase && !m_pwusedigits && !m_pwusesymbols)    {      AfxMessageBox(_T("At least one type of character (lowercase, uppercase, digits,\nsymbols, hexadecimal) must be permitted."));      return FALSE;    }  //End check  return TRUE;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -