亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? passwordptddlg.cpp

?? AppWizard has created this PasswordPTD application for you. This application not only demonstrates
?? CPP
字號:
// PasswordPTDDlg.cpp : implementation file
//

#include "stdafx.h"
#include "PasswordPTD.h"
#include "PasswordPTDDlg.h"

#define KEY_NAME "password"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPasswordPTDDlg dialog

CPasswordPTDDlg::CPasswordPTDDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CPasswordPTDDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CPasswordPTDDlg)
	m_sPasswordEdit = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CPasswordPTDDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPasswordPTDDlg)
	DDX_Control(pDX, IDC_CHANGE_OK_BUTTON, m_oChangeOkButton);
	DDX_Control(pDX, IDC_OLD_PASSWORD_EDIT, m_oOldEdit);
	DDX_Control(pDX, IDC_NEW_PASSWORD_EDIT, m_oNewEdit);
	DDX_Control(pDX, IDC_CONFIRM_PASSWORD_EDIT, m_oConfirmEdit);
	DDX_Control(pDX, IDC_OLD_PW_STATIC, m_oOldPWStatic);
	DDX_Control(pDX, IDC_NEW_PW_STATIC, m_oNewPWStatic);
	DDX_Control(pDX, IDC_CONFIRM_PW_STATIC, m_oConfirmPWStatic);
	DDX_Control(pDX, IDC_CHANGE_STATIC, m_oChangeStaticBox);
	DDX_Control(pDX, IDC_CHANGE_PW_BUTTON, m_ChangePWButton);
	DDX_Control(pDX, IDC_STATUS_STATIC, m_oStatusStatic);
	DDX_Text(pDX, IDC_PASSWORD_EDIT, m_sPasswordEdit);
	DDV_MaxChars(pDX, m_sPasswordEdit, 15);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CPasswordPTDDlg, CDialog)
	//{{AFX_MSG_MAP(CPasswordPTDDlg)
	ON_BN_CLICKED(IDC_CHANGE_PW_BUTTON, OnChangePwButton)
	ON_BN_CLICKED(IDC_CHANGE_OK_BUTTON, OnChangeOkButton)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPasswordPTDDlg message handlers

BOOL CPasswordPTDDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	//CenterWindow(GetDesktopWindow());	// center to the hpc screen
    SetWindowPos(GetDesktopWindow(), 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), SWP_SHOWWINDOW);

	HKEY  hKeyResult;
	DWORD dwDisposition;
	DWORD dwType;
	DWORD dwBytes = 0;
	LPCTSTR sDefaultPassword = _T("password");
				
	// ja - open / create registry key
	RegCreateKeyEx(HKEY_CLASSES_ROOT, _T("THEBOOK\\PASSWORD"), NULL, NULL, REG_OPTION_NON_VOLATILE, 
		KEY_ALL_ACCESS, NULL, &hKeyResult, &dwDisposition);
	
	if (hKeyResult){

		CString sResult;
		 
	    RegQueryValueEx(hKeyResult, _T(KEY_NAME), 0, &dwType, NULL, &dwBytes);
		LPCTSTR sBuffer = sResult.GetBuffer(dwBytes + 1);

		if (sBuffer){
			::RegQueryValueEx(hKeyResult, _T(KEY_NAME), 0, &dwType, (LPBYTE)sBuffer, &dwBytes);
			sResult.ReleaseBuffer();
		}
	
		// ja - set the data (default to "password")
		if (lstrcmp(sBuffer, _T("")) == 0){
			if (RegSetValueEx(hKeyResult, _T(KEY_NAME), 0, REG_SZ, (LPBYTE)sDefaultPassword,
				(lstrlen(sDefaultPassword)+1)*sizeof(TCHAR)) != ERROR_SUCCESS)
					return false; // ja - exit the program
			else
				m_sPassword = sDefaultPassword;
		}
		else // assign data to member var
		{
			m_sPassword = sBuffer;
		}
		
		// ja - and finally close the key
		RegCloseKey(hKeyResult);

	}
		
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CPasswordPTDDlg::OnOK() 
{
	// ja - if the password is valid let the function continue on (exit)
	if (CheckPassword())
		CDialog::OnOK();
}

void CPasswordPTDDlg::OnCancel() 
{
	// ja - if the password is valid let the function continue on (exit)
	if (CheckPassword())
		CDialog::OnCancel();
		
}

LRESULT CPasswordPTDDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{
	// ja - check the message for activate
	if (message == WM_ACTIVATE){
		// ja - if disactivating ...
		if (!wParam){
			// ja - call local function to check for valid password
			if (!CheckPassword())
				// ja - call function to set the focus back to window
				::SetForegroundWindow(m_hWnd);
		}
	}
	
	return CDialog::WindowProc(message, wParam, lParam);
}

BOOL CPasswordPTDDlg::CheckPassword()
{
	// ja - get the text from the edit box
	UpdateData(TRUE);

	if (m_sPasswordEdit == m_sPassword)
		return TRUE;
	else
	{
		//UpdateData(TRUE);
		m_oStatusStatic.SetWindowText(_T("Invalid Password")); 
		//UpdateData(FALSE);
		// ja - T this did not work for CE ,i don't think i can make a system modal message box
		// ja - we will use the CWnd MessageBox here so we can make it system modal
		//MessageBox(_T("Invalid Password"), _T("Password Checker"), /*MB_OK |*/ MB_SYSTEMMODAL);
		return FALSE;
	}

}

void CPasswordPTDDlg::OnChangePwButton() 
{
	ShowControls(TRUE);

}
		

void CPasswordPTDDlg::OnChangeOkButton() 
{
	// ja- read in the text from the 3 fields
	CString sOldEdit;
	CString sNewEdit;
	CString sConfirmEdit;
	
	m_oOldEdit.GetWindowText(sOldEdit);
	m_oNewEdit.GetWindowText(sNewEdit);
	m_oConfirmEdit.GetWindowText(sConfirmEdit);

	// ja- test for empty fields
	/*if (sOldEdit == NULL || sNewEdit == NULL || sConfirmEdit == NULL){
		m_oStatusStatic.SetWindowText(_T("One or more Fields Left Blank!!")); 
		return;
	}*/

	// ja- test the old password with the new one
	if (sOldEdit != m_sPassword){
		m_oStatusStatic.SetWindowText(_T("Invalid Old Password!!")); 
		ClearFields();	
		return;
	}

	// ja- make sure the new passwords match 
	if (sNewEdit != sConfirmEdit){
		m_oStatusStatic.SetWindowText(_T("New and Confirm Passwords Differ!!")); 
		ClearFields();
		return;
	}

	m_sPassword = sNewEdit;
	
	// ja - copy the cstring into a null term string
	LPTSTR sTemp = new TCHAR[sNewEdit.GetLength()+1];
	_tcscpy(sTemp, sNewEdit);

	// ja - now write the new password to the reg
	HKEY  hKeyResult;

	// ja - open registry key
	RegOpenKeyEx(HKEY_CLASSES_ROOT, _T("THEBOOK\\PASSWORD"), 0, KEY_ALL_ACCESS, &hKeyResult);
				
	if (hKeyResult){

		// ja - set the data 
		if (RegSetValueEx(hKeyResult, _T(KEY_NAME), 0, REG_SZ, (LPBYTE)sTemp, 
			(lstrlen(sTemp)+1)*sizeof(TCHAR)) == ERROR_SUCCESS)
				m_oStatusStatic.SetWindowText(_T("Password Sucsefully Changed!!")); 
                
		// ja - and finally close the key
		RegCloseKey(hKeyResult);

	}

	ShowControls(FALSE);
}

void CPasswordPTDDlg::ShowControls(BOOL bShow)
{
	// ja - clear out old values
	ClearFields();
	
	// ja- switch buttons
	m_ChangePWButton.ShowWindow(!bShow);
	m_oChangeOkButton.ShowWindow(bShow);
	
	// ja- now the controls
	m_oChangeStaticBox.ShowWindow(bShow);
	m_oOldPWStatic.ShowWindow(bShow);
	m_oOldEdit.ShowWindow(bShow);
	m_oNewPWStatic.ShowWindow(bShow);
	m_oNewEdit.ShowWindow(bShow);
	m_oConfirmEdit.ShowWindow(bShow);
	m_oConfirmPWStatic.ShowWindow(bShow);
}

void CPasswordPTDDlg::ClearFields()
{
	// ja- clear the edit fields
	m_oOldEdit.Clear(); 
	m_oNewEdit.Clear();
	m_oConfirmEdit.Clear();
	
	UpdateData(TRUE);
	m_sPasswordEdit = "";
	UpdateData(FALSE);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性色黄大片手机版| 成人黄色av电影| 欧美久久久久久久久中文字幕| 亚洲欧美日韩国产成人精品影院| 成人av资源在线观看| 亚洲女女做受ⅹxx高潮| 91啪亚洲精品| 亚洲成人福利片| 91精品久久久久久久91蜜桃| 免费观看一级特黄欧美大片| 精品久久久久一区| 国产成人午夜视频| 亚洲色图20p| 欧美揉bbbbb揉bbbbb| 久久超级碰视频| 欧美国产97人人爽人人喊| 99久久er热在这里只有精品15 | 日本一区二区三区国色天香| 成人动漫一区二区三区| 亚洲精品国产一区二区精华液| 欧美精品日日鲁夜夜添| 精品一区二区综合| 综合中文字幕亚洲| 欧美一级理论片| 成人一区二区三区视频在线观看| 亚洲影视资源网| 久久久久久久久久美女| 色综合天天综合狠狠| 日本伊人精品一区二区三区观看方式| 久久免费美女视频| 欧美午夜精品一区| 国产传媒日韩欧美成人| 亚洲成人免费在线| 欧美激情在线观看视频免费| 欧美日韩高清影院| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 精品99久久久久久| 色综合一区二区三区| 麻豆精品一区二区av白丝在线| 国产精品久久久一区麻豆最新章节| 欧美日韩国产综合视频在线观看| 国产成人午夜视频| 日韩电影免费一区| 亚洲狼人国产精品| 国产三区在线成人av| 欧美日韩精品一区二区三区蜜桃| 成人午夜激情影院| 久久国产精品99精品国产| 一区二区三区在线播| 国产网站一区二区三区| 欧美老肥妇做.爰bbww| 99久久er热在这里只有精品66| 精品综合久久久久久8888| 性做久久久久久久久| 国产精品久久久久天堂| 久久久亚洲午夜电影| 91麻豆精品国产91久久久| 色综合久久久久综合体| 成人午夜免费av| 国产精品亚洲专一区二区三区 | 美女精品自拍一二三四| 亚洲一区二区三区中文字幕在线| 欧美国产精品一区二区| 欧美变态tickle挠乳网站| 欧美日韩在线不卡| 91国偷自产一区二区三区观看| 成人av午夜电影| 成人免费毛片app| 国产成人a级片| 国产精品99久久久久久久vr| 精品一区二区三区蜜桃| 青娱乐精品视频在线| 亚洲123区在线观看| 亚洲最大色网站| 亚洲制服丝袜在线| 樱桃视频在线观看一区| 亚洲精品国产成人久久av盗摄 | 久久色视频免费观看| 精品裸体舞一区二区三区| 日韩一级片网站| 综合久久国产九一剧情麻豆| 国产丝袜欧美中文另类| 国产日韩欧美精品一区| 国产视频一区二区在线| 中文字幕日韩一区二区| 亚洲欧美在线aaa| 亚洲一级电影视频| 亚洲成人自拍一区| 日韩福利视频网| 久久99国内精品| 国产黄色成人av| 不卡欧美aaaaa| 91丨九色丨蝌蚪丨老版| 日本韩国精品一区二区在线观看| 欧美在线小视频| 7777精品伊人久久久大香线蕉最新版| 欧美电影在线免费观看| 精品国产精品一区二区夜夜嗨| 久久综合色婷婷| 国产精品不卡在线| 亚洲最新在线观看| 麻豆91免费看| 成人免费va视频| 在线观看免费视频综合| 91麻豆精品国产91久久久久久久久 | 久久综合久久鬼色中文字| 国产欧美日韩另类一区| 亚洲日本在线看| 日本少妇一区二区| 国产成人午夜视频| 欧美日韩五月天| 久久蜜桃av一区精品变态类天堂| 国产精品乱码人人做人人爱| 亚洲一区二区精品久久av| 极品美女销魂一区二区三区免费| 粉嫩13p一区二区三区| 在线观看免费成人| 久久综合九色欧美综合狠狠| 亚洲男同性视频| 精品在线免费视频| 北岛玲一区二区三区四区| 欧美一区在线视频| 日韩毛片精品高清免费| 蜜桃av一区二区在线观看| 北条麻妃国产九九精品视频| 欧美一区二区三区免费| 国产精品国产精品国产专区不片| 日韩激情一二三区| 成人avav在线| 欧美成人欧美edvon| 一区二区三区在线免费播放| 久热成人在线视频| 日本久久电影网| 欧美精品一区二区三区一线天视频 | 蜜桃视频第一区免费观看| 风间由美一区二区av101| 欧美日韩不卡一区二区| 亚洲欧美综合另类在线卡通| 久草热8精品视频在线观看| 欧美亚洲愉拍一区二区| 日本一区二区不卡视频| 久久se这里有精品| 国产精品久久久久久久浪潮网站| 日韩av网站在线观看| 一本久久精品一区二区| 久久精品一区二区三区不卡| 日本最新不卡在线| 欧美亚洲高清一区二区三区不卡| 国产精品污污网站在线观看| 九九久久精品视频| 日韩一级黄色大片| 亚洲一区二区av在线| 91亚洲精华国产精华精华液| 欧美va亚洲va在线观看蝴蝶网| 性欧美大战久久久久久久久| 成人视屏免费看| 精品久久一区二区| 日本视频在线一区| 欧美日韩国产色站一区二区三区| 国产精品动漫网站| 国产精品一品视频| 精品国产91亚洲一区二区三区婷婷 | 色哟哟在线观看一区二区三区| 久久免费电影网| 美女网站一区二区| 日韩精品一区二区三区视频 | 1000部国产精品成人观看| 国产一级精品在线| 精品国产亚洲在线| 久久激情五月婷婷| 欧美一区二区视频网站| 日韩国产欧美一区二区三区| 欧美日韩精品一区二区三区| 亚洲综合在线电影| 欧美三级日韩三级国产三级| 亚洲国产精品综合小说图片区| 一本大道久久a久久综合婷婷 | 夜夜嗨av一区二区三区网页| 欧美在线一二三| 日韩电影免费在线观看网站| 欧美一级在线观看| 青青草国产精品亚洲专区无| 欧美日韩国产色站一区二区三区| 亚洲成人第一页| 欧美丰满一区二区免费视频| 日韩av成人高清| 欧美一级在线视频| 久久国产日韩欧美精品| 国产欧美一区二区精品性色| 成人动漫av在线| 一区二区三区小说| 69堂成人精品免费视频| 日本中文在线一区| 久久午夜电影网| 91在线丨porny丨国产| 一区二区三区av电影| 777久久久精品| 国产呦萝稀缺另类资源| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 久久99九九99精品|