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

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

?? reg.cpp.svn-base

?? wince c++ 下 開發的 rss 閱讀器源代碼
?? SVN-BASE
字號:
/**
 *  reg.cpp 
 *
 *  Copyright (C) 2008  David Andrs <pda@jasnapaka.com>
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

#include <windows.h>
#include <afx.h>
#include "reg.h"

#ifdef MYDEBUG
#undef THIS_FILE
static TCHAR THIS_FILE[] = _T(__FILE__);
#include "../prssr/debug/crtdbg.h"
#define new MYDEBUG_NEW
#endif

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

/*
HKEY RegOpenConfigKey() {
	DWORD dwDisposition;
	HKEY hApp;
	if (RegCreateKeyEx(HKEY_CURRENT_USER, REG_PRSSR, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hApp, &dwDisposition) == ERROR_SUCCESS)
		return hApp;
	else
		return NULL;
}

HKEY RegOpenItemsKey() {
	DWORD dwDisposition;
	HKEY hItems;
	if (RegCreateKeyEx(HKEY_CURRENT_USER, REG_PRSSR _T("\\") REG_ITEMS, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hItems, &dwDisposition) == ERROR_SUCCESS)
		return hItems;
	else
		return NULL;
}

HKEY RegOpenSiteListCacheKey() {
	DWORD dwDisposition;
	HKEY hItems;
	if (RegCreateKeyEx(HKEY_CURRENT_USER, REG_PRSSR _T("\\") REG_SITE_LIST_CACHE, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hItems, &dwDisposition) == ERROR_SUCCESS)
		return hItems;
	else
		return NULL;
}
*/

void RegWriteDword(HKEY hKey, LPCTSTR valueName, DWORD value) {
	RegSetValueEx(hKey, valueName, 0, REG_DWORD, (BYTE *) &value, sizeof(value));
}

void RegWriteString(HKEY hKey, LPCTSTR valueName, LPCTSTR value) {
	if (value != NULL)
		RegSetValueEx(hKey, valueName, 0, REG_SZ, (BYTE *) value, sizeof(TCHAR) * (lstrlen(value) + 1));
	else {
		TCHAR v = 0;
		RegSetValueEx(hKey, valueName, 0, REG_SZ, (BYTE *) v, sizeof(TCHAR));
	}
}

DWORD RegReadDword(HKEY hKey, LPCTSTR valueName, DWORD defaultValue) {
	DWORD dwType, dwValue, dwSize = sizeof(DWORD);

	if (RegQueryValueEx(hKey, valueName, NULL, &dwType, (LPBYTE) &dwValue, &dwSize) == ERROR_SUCCESS)
		return dwValue;
	else
		return defaultValue;
}

CString RegReadString(HKEY hKey, LPCTSTR valueName, LPCTSTR defaultValue) {
	DWORD dwType, dwSize;
	CString strValue;

	if (RegQueryValueEx(hKey, valueName, NULL, &dwType, NULL, &dwSize) == ERROR_SUCCESS) {
		LPTSTR lpValue = strValue.GetBufferSetLength((dwSize / sizeof(TCHAR)) - 1);
		if (RegQueryValueEx(hKey, valueName, NULL, &dwType, (BYTE *) lpValue, &dwSize) == ERROR_SUCCESS) {
			return strValue;
		}
		else {
			return CString(defaultValue);
		}
	}
	else {
		return CString(defaultValue);
	}
}

// CRegistry //////////////

CRegistry::CRegistry(HKEY hRoot, const CString &regPath) {
	DWORD dwDisposition;
	RegCreateKeyEx(hRoot, regPath, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &Key, &dwDisposition);
}

CRegistry::~CRegistry() {
	Close();
}

void CRegistry::DeleteKey(HKEY hRoot, const CString &regPath) {
	RegDeleteKey(hRoot, regPath);
}

void CRegistry::Write(LPCTSTR valueName, DWORD value) {
	RegWriteDword(Key, valueName, value);
}

void CRegistry::Write(LPCTSTR valueName, UINT value) {
	RegWriteDword(Key, valueName, value);
}

void CRegistry::Write(LPCTSTR valueName, BOOL value) {
	RegWriteDword(Key, valueName, value);
}

void CRegistry::Write(LPCTSTR valueName, LPCTSTR value) {
	RegWriteString(Key, valueName, value);
}

void CRegistry::Write(LPCTSTR valueName, void *value, DWORD size) {
	if (value != NULL)
		RegSetValueEx(Key, valueName, 0, REG_BINARY, (BYTE *) value, size);
	else {
		TCHAR v = 0;
		RegSetValueEx(Key, valueName, 0, REG_BINARY, (BYTE *) v, sizeof(TCHAR));
	}
}

DWORD CRegistry::Read(LPCTSTR valueName, DWORD defaultValue) {
	return RegReadDword(Key, valueName, defaultValue);
}

BOOL CRegistry::Read(LPCTSTR valueName, BOOL defaultValue) {
	return RegReadDword(Key, valueName, defaultValue);
}

UINT CRegistry::Read(LPCTSTR valueName, UINT defaultValue) {
	return RegReadDword(Key, valueName, defaultValue);
}

CString CRegistry::Read(LPCTSTR valueName, const CString &defaultValue) {
	return RegReadString(Key, valueName, defaultValue);
}

BOOL CRegistry::Read(LPCTSTR valueName, void *value, DWORD size) {
	DWORD dwType = REG_BINARY, dwSize = size;

	if (RegQueryValueEx(Key, valueName, NULL, &dwType, (BYTE *) value, &dwSize) == ERROR_SUCCESS)
		return TRUE;
	else
		return FALSE;
}

void CRegistry::DeleteValue(LPCTSTR valueName) {
	RegDeleteValue(Key, valueName);
}

void CRegistry::QuerySubKeyNumber(LPDWORD lpcSubKeys) {
	RegQueryInfoKey(Key, NULL, NULL, NULL, lpcSubKeys, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
}

void CRegistry::QueryValueNumber(LPDWORD lpcValues) {
	RegQueryInfoKey(Key, NULL, NULL, NULL, NULL, NULL, NULL, lpcValues, NULL, NULL, NULL, NULL);
}

void CRegistry::Close() {
	if (Key != NULL) {
		RegCloseKey(Key);
		Key = NULL;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩二区三区四区| 亚洲午夜成aⅴ人片| 国产一区二区伦理| 久久精品视频免费| 成人动漫视频在线| 亚洲夂夂婷婷色拍ww47| 欧美高清一级片在线| 另类小说视频一区二区| 精品久久久三级丝袜| 国产.精品.日韩.另类.中文.在线.播放 | 国产精品69毛片高清亚洲| 久久精品亚洲麻豆av一区二区| 粉嫩av一区二区三区| 一区二区三区高清| 日韩一级片网址| 不卡的电视剧免费网站有什么| 亚洲日本在线视频观看| 欧美精品1区2区3区| 国产成人综合视频| 亚洲一区二区三区在线播放| 日韩一级成人av| 成人av免费网站| 三级精品在线观看| 国产精品久久久久婷婷| 制服丝袜一区二区三区| 国产剧情一区在线| 亚洲成a天堂v人片| 中文字幕+乱码+中文字幕一区| 在线看国产一区二区| 国产一区二区三区久久久 | 久久综合五月天婷婷伊人| 91一区二区三区在线观看| 午夜精品福利久久久| 国产精品无遮挡| 91精品国模一区二区三区| 99久久婷婷国产| 精品一区二区三区在线视频| 亚洲精品中文字幕在线观看| 精品国产亚洲在线| 在线看一区二区| 成人av影视在线观看| 久久精品国产亚洲高清剧情介绍| 亚洲人亚洲人成电影网站色| 欧美成人伊人久久综合网| 在线免费观看不卡av| 国产成人一级电影| 精品无人区卡一卡二卡三乱码免费卡 | 国产福利电影一区二区三区| 亚洲h动漫在线| 亚洲日本va午夜在线电影| 久久综合久久99| 日韩一级成人av| 欧美日韩免费视频| 一本大道av一区二区在线播放| 国产一区二区在线观看视频| 免费国产亚洲视频| 日韩av高清在线观看| 亚洲国产一区二区视频| 亚洲你懂的在线视频| 国产精品视频一二三| 国产欧美一区二区精品久导航| 欧美一级夜夜爽| 欧美乱熟臀69xxxxxx| 欧美性三三影院| 欧美在线观看你懂的| 色婷婷av一区二区三区软件| 99精品视频一区二区| 成人一道本在线| 国产**成人网毛片九色 | 国产成人免费在线观看| 国产精品夜夜嗨| 国产精品69久久久久水密桃| 精品系列免费在线观看| 国内外精品视频| 国内精品伊人久久久久av一坑| 久久99日本精品| 激情欧美一区二区| 国内精品在线播放| 国产a视频精品免费观看| 国产成人丝袜美腿| av电影一区二区| 91麻豆精东视频| 欧美亚洲综合一区| 69av一区二区三区| 精品国产髙清在线看国产毛片 | 国产拍揄自揄精品视频麻豆| 久久这里只精品最新地址| 国产亚洲欧美激情| 国产精品久久久久一区二区三区 | 欧美日韩午夜精品| 日韩色在线观看| 久久久99精品久久| 亚洲欧洲日韩av| 亚洲成av人片在线| 美女在线观看视频一区二区| 精品一区二区综合| 成人免费视频国产在线观看| 99精品欧美一区二区三区小说| 欧美亚洲国产怡红院影院| 91精品中文字幕一区二区三区| 精品国产污污免费网站入口 | 在线视频国产一区| 51精品秘密在线观看| 久久免费国产精品| 亚洲精品老司机| 看电视剧不卡顿的网站| a美女胸又www黄视频久久| 欧美色视频在线| 国产性天天综合网| 亚洲一区二区成人在线观看| 九一久久久久久| 色呦呦国产精品| 亚洲精品一区在线观看| 亚洲日本一区二区| 九色|91porny| 在线观看欧美黄色| 国产亚洲1区2区3区| 五月激情六月综合| 福利一区二区在线| 欧美日本在线视频| 欧美国产成人在线| 婷婷久久综合九色综合伊人色| 国产91丝袜在线播放| 欧美丰满少妇xxxxx高潮对白| 久久久久久久免费视频了| 亚洲第一综合色| 99天天综合性| 2023国产精华国产精品| 五月天精品一区二区三区| 99精品一区二区| 久久久久国产精品人| 日韩成人精品视频| 欧美日韩中字一区| 中文字幕一区二区三区四区| 激情综合网最新| 欧美久久久久中文字幕| 亚洲日本va午夜在线电影| 国产精品一区免费视频| 日韩一级二级三级精品视频| 一区二区欧美精品| 99精品视频一区二区| 国产婷婷色一区二区三区| 轻轻草成人在线| 欧美日本在线播放| 亚洲精品第1页| 成人app网站| 中文字幕第一区综合| 国产一区二区三区四区在线观看| 91精品国产综合久久久久久久久久 | 欧美日韩午夜影院| 亚洲精品少妇30p| 99久久久精品| 中文字幕色av一区二区三区| 国产美女主播视频一区| 欧美tk—视频vk| 麻豆精品久久久| 欧美大尺度电影在线| 天天av天天翘天天综合网 | 日韩av电影天堂| 欧美挠脚心视频网站| 亚洲精品国产精华液| 99精品视频一区| 亚洲精品免费一二三区| 在线免费观看不卡av| 亚洲高清视频在线| 欧美精品18+| 激情五月婷婷综合网| 久久先锋影音av鲁色资源网| 激情综合色综合久久| 久久婷婷成人综合色| 国产激情一区二区三区| 国产女人水真多18毛片18精品视频| 国产麻豆视频一区| 中文字幕av一区二区三区高| 成人国产精品免费观看动漫| 日韩一区在线看| 在线看日本不卡| 欧美aⅴ一区二区三区视频| 欧美成人午夜电影| 国产精品1区2区| 中文字幕永久在线不卡| 色综合久久88色综合天天6| 亚洲第一主播视频| 精品毛片乱码1区2区3区 | 精品一区二区三区久久| 久久久亚洲精品一区二区三区| 成人国产精品免费网站| 一区二区三区高清不卡| 欧美一区二区三区小说| 国产精品自产自拍| 亚洲欧美日韩成人高清在线一区| 一本色道综合亚洲| 麻豆91免费观看| 国产精品久久久久久久蜜臀| 欧美怡红院视频| 国产乱理伦片在线观看夜一区| 亚洲欧美日韩精品久久久久| 欧美一区二区三区人| 国产成人精品亚洲日本在线桃色 | 色综合久久88色综合天天免费|