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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? registrydlg.cpp

?? vc++ study
?? CPP
字號:
// RegistryDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Registry.h"
#include "RegistryDlg.h"

#include "Modify.h"

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

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRegistryDlg dialog

CRegistryDlg::CRegistryDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CRegistryDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CRegistryDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CRegistryDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CRegistryDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CRegistryDlg, CDialog)
	//{{AFX_MSG_MAP(CRegistryDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_MODIFY, OnModify)
	ON_BN_CLICKED(IDC_QUERY, OnQuery)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRegistryDlg message handlers

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

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// 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
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CRegistryDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CRegistryDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CRegistryDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CRegistryDlg::OnModify() 
{
	// TODO: Add your control notification handler code here
	CModify dlg;
	if (dlg.DoModal() ==IDOK){//按給定的值修改注冊表信息
		CString str_username = dlg.m_Username;
		CString str_company  = dlg.m_Company;
		//定義有關的hKEY,程序結束時關閉
		HKEY hKEY;
		LPCTSTR data_Set = "Software\\Microsoft\\Ms Setup (ACME)\\User Info\\";
		long ret0 = ::RegOpenKeyEx(HKEY_CURRENT_USER,//根鍵名稱
				data_Set,	//要訪問的鍵的位置;
				0,			//必須為0;
				KEY_WRITE,	//以寫方式訪問注冊表;
				&hKEY);	//hKEY保存此函數所打開的鍵的句柄。
		if (ret0 != ERROR_SUCCESS){//若無法打開,則終止程序運行
			MessageBox("錯誤:無法打開相關的hKEY!");
			return;
		}
		//修改用戶姓名
		LPBYTE username_Set = CString_To_LPBYTE(str_username);
		DWORD type_1 = REG_SZ;
		DWORD cbData_1 = str_username.GetLength()+1;
		long ret1 = ::RegSetValueEx(hKEY,//已打開的鍵的句柄
			"DefName",		//要修改的鍵值名
			NULL,			
			type_1,		//新數據的類型
			username_Set,	//新的鍵值
			cbData_1);		//新值的數據長度
		if (ret1 != ERROR_SUCCESS){//若無法修改,則終止程序運行
			MessageBox("錯誤:無法修改用戶姓名");
			return;
		}
		//修改公司名稱
		LPBYTE company_Set = CString_To_LPBYTE(str_company);
		DWORD type_2 = REG_SZ;
		DWORD cbData_2 = str_company.GetLength()+1;
		long ret2 = ::RegSetValueEx(hKEY,//已打開的鍵的句柄
			"DefCompany",		//要修改的鍵值名
			NULL,			
			type_2,		//新數據的類型
			company_Set,	//新的鍵值
			cbData_2);		//新值的數據長度
		if (ret2 != ERROR_SUCCESS){//若無法修改,則終止程序運行
			MessageBox("錯誤:無法修改公司名稱");
			return;
		}
	}
	
}

void CRegistryDlg::OnQuery() 
{
	// TODO: Add your control notification handler code here
// TODO: Add your control notification handler code here
	HKEY hKEY;//定義有關的hKEY,查詢結束時關閉
	LPCTSTR data_Set = "Software\\Microsoft\\Ms Setup (ACME)\\User Info\\";
	//打開與路徑data_Set相關的hKEY
	long ret0 = ::RegOpenKeyEx(HKEY_CURRENT_USER,//根鍵名稱
			data_Set,	//要訪問的鍵的位置;
			0,			//必須為0;
			KEY_READ,	//以查詢的方式訪問注冊表;
			&hKEY);	//hKEY保存此函數所開的鍵的句柄。打
	if (ret0 != ERROR_SUCCESS){//若無法打開,則終止程序運行
		MessageBox("錯誤:無法打開相關的hKEY!");
		return;
	}
	//查詢用戶名稱信息
	LPBYTE username_Get = new BYTE[40];
	DWORD type_1 = REG_SZ;
	DWORD cbData_1 = 40;
	long ret1 = ::RegQueryValueEx(hKEY,//所打開的鍵的句柄
			"DefName",		//要查詢的鍵值名
			NULL,			
			&type_1,		//查詢數據的類型
			username_Get,	//保存所查詢的數據
			&cbData_1);		//預設置的數據長度
	if (ret1 != ERROR_SUCCESS){
		MessageBox("錯誤:無法查詢有關注冊表信息!");
		return;
	}
	//查詢用戶公司信息數據
	LPBYTE company_Get = new BYTE[40];
	DWORD type_2 = REG_SZ;
	DWORD cbData_2 = 40;
	long ret2 = ::RegQueryValueEx(hKEY,//所打開的鍵的句柄
			"DefCompany",		//要查詢的鍵值名
			NULL,			
			&type_2,		//查詢數據的類型
			company_Get,	//保存所查詢的數據
			&cbData_2);		//預設置的數據長度
	if (ret1 != ERROR_SUCCESS){
		MessageBox("錯誤:無法查詢有關注冊表信息!");
		return;
	}
	//將查詢結果轉換為CString類型
	CString str_username = CString(username_Get);
	CString str_company = CString(company_Get);
	delete[] username_Get;
	delete[] company_Get;
	//關閉打開的hKEY
	::RegCloseKey(hKEY);
	//顯示查詢信息
	CString value = "用戶名:" + str_username + ",公司名:" + str_company;
	AfxMessageBox(value,MB_OK|MB_ICONINFORMATION);
}

LPBYTE CRegistryDlg::CString_To_LPBYTE(CString str)
{
	LPBYTE lpb = new BYTE[str.GetLength()+1];
	for (int i = 0;i <str.GetLength();i++)
		lpb[i] = str[i];
	lpb[str.GetLength()] = 0;
	return lpb;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品自在欧美一区| 五月婷婷综合网| 国产成人免费在线| 久久久亚洲国产美女国产盗摄| 蜜桃一区二区三区四区| 精品噜噜噜噜久久久久久久久试看 | 亚洲激情校园春色| 色婷婷亚洲婷婷| 美女视频黄 久久| 91麻豆精品国产综合久久久久久 | 亚洲午夜在线观看视频在线| 欧美日韩五月天| 免费在线观看日韩欧美| 日韩欧美二区三区| 粉嫩高潮美女一区二区三区| 亚洲丝袜美腿综合| 在线播放国产精品二区一二区四区| 天天操天天色综合| 久久久精品tv| 91色视频在线| 麻豆成人av在线| 中文字幕制服丝袜一区二区三区| 欧美图区在线视频| 国产一区欧美一区| 一区二区在线电影| 日韩一区国产二区欧美三区| 国产91丝袜在线播放0| 亚洲午夜精品久久久久久久久| 日韩午夜激情av| 99re亚洲国产精品| 久久爱www久久做| 亚洲人成在线播放网站岛国| 日韩一本二本av| 一本色道a无线码一区v| 韩国欧美国产1区| 一区二区三区高清| 欧美经典一区二区三区| 欧美日韩精品一区二区三区| 国产成人小视频| 午夜精品国产更新| 亚洲视频在线一区| 久久影院视频免费| 欧美剧在线免费观看网站| 91精品国产综合久久香蕉的特点| 丁香婷婷综合五月| 日本不卡的三区四区五区| 国产精品免费aⅴ片在线观看| 制服丝袜国产精品| 91丨九色丨蝌蚪丨老版| 韩国精品免费视频| 五月婷婷综合网| 一区二区三区日韩欧美精品 | 久久久久国产精品厨房| 欧美日韩亚洲综合一区| 成人黄页在线观看| 国产伦精品一区二区三区在线观看| 亚洲综合免费观看高清完整版在线| 国产日韩欧美精品综合| 欧美一区二区在线视频| 欧美色图12p| 色婷婷国产精品久久包臀| 成人精品高清在线| 国产精品一二三| 精品一区二区三区蜜桃| 日韩精品一卡二卡三卡四卡无卡| 亚洲另类一区二区| 亚洲日本va午夜在线影院| 亚洲国产岛国毛片在线| 久久免费美女视频| 久久久亚洲高清| 精品久久一区二区三区| 欧美变态tickling挠脚心| 欧美色电影在线| 欧美午夜精品久久久久久孕妇 | 欧美色综合天天久久综合精品| 成人午夜视频网站| 成人app网站| 成人美女在线视频| 成人的网站免费观看| 成人高清在线视频| 成人av资源下载| 91在线观看高清| 在线一区二区三区四区五区| 91成人看片片| 欧美男人的天堂一二区| 7777精品伊人久久久大香线蕉超级流畅| 欧美性高清videossexo| 欧美日韩一区二区在线视频| 欧美精品久久天天躁| 9191久久久久久久久久久| 欧美一级专区免费大片| 精品99久久久久久| 中文字幕免费一区| 亚洲色图.com| 亚洲福利电影网| 青青草97国产精品免费观看 | 亚洲va欧美va人人爽午夜| 丝袜美腿成人在线| 免费成人美女在线观看| 国产精品88888| www.欧美精品一二区| 在线观看一区日韩| 欧美区一区二区三区| 精品国产制服丝袜高跟| 国产日韩视频一区二区三区| 亚洲视频精选在线| 亚洲第一电影网| 加勒比av一区二区| 不卡一二三区首页| 欧美三级在线看| 久久久久成人黄色影片| 亚洲精品欧美在线| 久久99蜜桃精品| 91一区二区三区在线观看| 欧美久久一二三四区| 久久女同性恋中文字幕| 一区二区在线观看视频在线观看| 日本不卡高清视频| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美一级理论性理论a| 久久久久久麻豆| 亚洲大尺度视频在线观看| 韩国欧美国产1区| 欧美视频一区在线| 日本一区二区视频在线| 丝袜美腿亚洲综合| 99久久夜色精品国产网站| 欧美一区二区三区免费视频| 综合色中文字幕| 久久99精品一区二区三区三区| 一本久久a久久免费精品不卡| 欧美va亚洲va国产综合| 亚洲国产精品一区二区久久| 国产成人免费在线观看不卡| 欧美精品粉嫩高潮一区二区| 国产精品成人免费在线| 久久av资源网| 欧美日韩精品久久久| 专区另类欧美日韩| 国产精品99久久久久久似苏梦涵| 欧美高清性hdvideosex| 亚洲欧洲综合另类| 成人免费av资源| 久久综合九色综合97_久久久| 午夜精品一区二区三区三上悠亚 | 麻豆精品视频在线观看视频| 欧美在线不卡一区| 国产精品久久免费看| 国产精品中文字幕一区二区三区| 欧美疯狂做受xxxx富婆| 亚洲国产美女搞黄色| 99re热视频这里只精品| 国产精品女上位| 国产成人av电影在线观看| 欧美zozo另类异族| 人人超碰91尤物精品国产| 欧美日韩专区在线| 亚洲在线中文字幕| 91看片淫黄大片一级在线观看| 日本一区免费视频| 国产91精品露脸国语对白| 国产香蕉久久精品综合网| 国产另类ts人妖一区二区| 久久这里只有精品首页| 久久国产精品一区二区| 欧美一级日韩一级| 麻豆成人免费电影| 欧美va亚洲va香蕉在线| 精品在线视频一区| 精品国产免费久久| 国产高清无密码一区二区三区| 久久女同精品一区二区| 国产一区二区三区综合| 久久久久九九视频| 风流少妇一区二区| 国产精品国产三级国产有无不卡| 成人免费va视频| 亚洲精品视频自拍| 欧美三级三级三级爽爽爽| 亚洲6080在线| 日韩欧美国产一区二区三区| 久久国产剧场电影| 亚洲国产精品精华液ab| 99久久久久久| 亚洲国产日产av| 日韩欧美国产一区在线观看| 国产精选一区二区三区| 国产精品理论在线观看| 在线视频综合导航| 爽好多水快深点欧美视频| 欧美videos大乳护士334| 丰满岳乱妇一区二区三区| 亚洲色图20p| 8x福利精品第一导航| 国产美女一区二区三区| 亚洲欧美在线高清| 欧美乱妇15p| 国产精一区二区三区| 一区二区三区在线高清| 日韩欧美一区在线|