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

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

?? tregist.cpp

?? spring+hibenate+struts開發(fā)
?? CPP
字號:
static char *tregist_id = 
	"@(#)Copyright (C) H.Shirouzu 1996-2004   tregist.cpp	Ver0.95";
/* ========================================================================
	Project  Name			: Win32 Lightweight  Class Library Test
	Module Name				: Registry Class
	Create					: 1996-06-01(Sat)
	Update					: 2004-01-01(Thu)
	Copyright				: H.Shirouzu
	Reference				: 
	======================================================================== */

#include <stdio.h>
#include "tlib.h"

TRegistry::TRegistry(LPCSTR company, LPSTR appName)
{
	openCnt = 0;
	ChangeApp(company, appName);
}

TRegistry::TRegistry(HKEY top_key)
{
	topKey = top_key;
	openCnt = 0;
}

TRegistry::~TRegistry(void)
{
	while (openCnt > 0)
		CloseKey();
}

BOOL TRegistry::ChangeApp(LPCSTR company, LPSTR appName)
{
	while (openCnt > 0)
		CloseKey();

	topKey = HKEY_CURRENT_USER;

	char	buf[100];
	wsprintf(buf, "software\\%s", company);
	if (appName != NULL && *appName)
		wsprintf(buf + strlen(buf), "\\%s", appName);

	return	CreateKey(buf);
}

void TRegistry::ChangeTopKey(HKEY top_key)
{
	while (openCnt > 0)
		CloseKey();

	topKey = top_key;
}

BOOL TRegistry::OpenKey(LPCSTR subKey, BOOL createFlg)
{
	HKEY	parentKey = (openCnt == 0 ? topKey : hKey[openCnt -1]);

	if (openCnt >= MAX_KEYARRAY)
		return	FALSE;

	DWORD	tmp;
	if ((createFlg ? ::RegCreateKeyEx(parentKey, subKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey[openCnt], &tmp) : ::RegOpenKeyEx(parentKey, subKey, 0, KEY_ALL_ACCESS, &hKey[openCnt])) == ERROR_SUCCESS)
		return	openCnt++, TRUE;
	else
		return	FALSE;
}

BOOL TRegistry::CloseKey(void)
{
	if (openCnt <= 0)
		return	FALSE;

	::RegCloseKey(hKey[--openCnt]);

	return	TRUE;
}

BOOL TRegistry::GetInt(LPCSTR subKey, int *val)
{
	long	tmp_val;

	if (GetLong(subKey, &tmp_val) == FALSE)
		return	FALSE;
	*val = (int)tmp_val;
	return	TRUE;
}

BOOL TRegistry::SetInt(LPCSTR subKey, int val)
{
	return	SetLong(subKey, (long)val);
}

BOOL TRegistry::GetLong(LPCSTR subKey, long *val)
{
	DWORD	type = REG_DWORD, dw_size = sizeof(long);
	if (::RegQueryValueEx(hKey[openCnt -1], subKey, 0, &type, (BYTE *)val, &dw_size) == ERROR_SUCCESS)
		return	TRUE;

	char	buf[100];
	long	size = sizeof(buf);

	if (::RegQueryValue(hKey[openCnt -1], subKey, buf, &size) != ERROR_SUCCESS)
		return	FALSE;
	*val = atol(buf);
	return	TRUE;
}

BOOL TRegistry::SetLong(LPCSTR subKey, long val)
{
	return	::RegSetValueEx(hKey[openCnt -1], subKey, 0, REG_DWORD, (const BYTE *)&val, sizeof(val)) == ERROR_SUCCESS;
}

BOOL TRegistry::GetStr(LPCSTR subKey, LPSTR str, int size)
{
	DWORD	type = REG_SZ;
	if (::RegQueryValueEx(hKey[openCnt -1], subKey, 0, &type, (BYTE *)str, (LPDWORD)&size) == ERROR_SUCCESS)
		return	TRUE;

	return	::RegQueryValue(hKey[openCnt -1], subKey, str, (LPLONG)&size) == ERROR_SUCCESS;
}

BOOL TRegistry::SetStr(LPCSTR subKey, LPCSTR str)
{
	return	::RegSetValueEx(hKey[openCnt -1], subKey, 0, REG_SZ, (const BYTE *)str, strlen(str) +1) == ERROR_SUCCESS;
}

BOOL TRegistry::GetByte(LPCSTR subKey, BYTE *data, int *size)
{
	DWORD	type = REG_BINARY;
	return	::RegQueryValueEx(hKey[openCnt -1], subKey, 0, &type, (BYTE *)data, (LPDWORD)size) == ERROR_SUCCESS;
}

BOOL TRegistry::SetByte(LPCSTR subKey, const BYTE *data, int size)
{
	return	::RegSetValueEx(hKey[openCnt -1], subKey, 0, REG_BINARY, data, size) == ERROR_SUCCESS;
}

BOOL TRegistry::DeleteKey(LPCSTR subKey)
{
	return	::RegDeleteKey(hKey[openCnt -1], subKey) == ERROR_SUCCESS;
}

BOOL TRegistry::DeleteValue(LPCSTR subValue)
{
	return	::RegDeleteValue(hKey[openCnt -1], subValue) == ERROR_SUCCESS;
}

BOOL TRegistry::EnumKey(DWORD cnt, LPSTR buf, int size)
{
	return	::RegEnumKeyEx(hKey[openCnt -1], cnt, buf, (LPDWORD)&size, 0, 0, 0, 0) == ERROR_SUCCESS;
}

BOOL TRegistry::EnumValue(DWORD cnt, LPSTR buf, int size, DWORD *type)
{
	return	::RegEnumValue(hKey[openCnt -1], cnt, buf, (LPDWORD)&size, 0, type, 0, 0) == ERROR_SUCCESS;
}

/*
	subKey 傪巜掕偟偨応崌偼 subkey 傪娷傓僉乕埲壓傪嶍彍
	subkey 偑 NULL 偺応崌丄僇儗儞僩 偺攝壓傪嶍彍
*/
BOOL TRegistry::DeleteChildTree(LPSTR subKey)
{
	char	buf[100];
	BOOL	ret = TRUE;

	if (subKey != NULL && OpenKey(subKey) != TRUE)
		return	FALSE;

	while (EnumKey(0, buf, sizeof(buf)))
	{
		if ((ret = DeleteChildTree(buf)) != TRUE)
			break;
	}
	if (subKey != NULL)
	{
		CloseKey();
		ret = DeleteKey(subKey) ? ret : FALSE;
	}
	else {
		while (EnumValue(0, buf, sizeof(buf)))
		{
			if (DeleteValue(buf) != TRUE)
			{
				ret = FALSE;
				break;
			}
		}
	}
	return	ret;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美区自拍先锋| 国产成人综合视频| 欧美视频自拍偷拍| 亚洲国产精品传媒在线观看| 精品一区二区三区免费播放| 欧美日韩一区视频| 亚洲a一区二区| 欧洲色大大久久| 亚洲一区免费视频| a亚洲天堂av| 国产精品黄色在线观看| 成人一道本在线| 亚洲欧洲一区二区在线播放| 国产精品12区| 日韩欧美国产一区在线观看| 一区二区三区在线高清| 欧美日韩在线免费视频| 麻豆freexxxx性91精品| 欧美精品一区二区三区久久久 | www.成人网.com| 亚洲视频一二区| 91精品国产欧美一区二区18| 天堂蜜桃一区二区三区| 久久午夜色播影院免费高清| 国产91综合一区在线观看| 洋洋av久久久久久久一区| 91精品国产综合久久久久久久久久| 视频一区视频二区中文字幕| 欧美精品一区二区三区视频| eeuss影院一区二区三区| 日韩电影在线观看网站| 久久精品在这里| 欧美日韩性生活| 成人av电影在线观看| 亚洲成年人网站在线观看| 亚洲国产高清不卡| 2024国产精品| 欧美日韩第一区日日骚| 91丨porny丨国产入口| 久久99深爱久久99精品| 伊人婷婷欧美激情| 自拍偷拍欧美激情| 国产精品少妇自拍| 久久综合久色欧美综合狠狠| 成人免费视频caoporn| 亚洲午夜一区二区三区| 亚洲精品成人精品456| 国产亚洲成年网址在线观看| 在线播放91灌醉迷j高跟美女 | 日韩丝袜美女视频| 欧美日韩国产综合视频在线观看| 国产.欧美.日韩| 国产精品一二三四五| 美脚の诱脚舐め脚责91| 午夜精品免费在线| 日韩国产欧美在线视频| 婷婷六月综合亚洲| 青青草一区二区三区| 日日欢夜夜爽一区| 麻豆精品在线看| 国产在线日韩欧美| 粉嫩13p一区二区三区| 成人开心网精品视频| 99国产精品视频免费观看| www.日韩av| 欧美三级视频在线| 欧美日韩成人高清| 精品国产一区二区三区av性色| 欧美电视剧在线看免费| 久久男人中文字幕资源站| 国产精品人人做人人爽人人添| 国产欧美一二三区| 亚洲综合色区另类av| 免费三级欧美电影| 丁香五精品蜜臀久久久久99网站| 日韩精品久久久久久| 一区视频在线播放| 性做久久久久久免费观看欧美| 日韩精品欧美精品| 成人手机电影网| 欧美福利电影网| 国产精品你懂的在线| 五月激情综合网| 成人美女视频在线看| 欧美午夜一区二区三区免费大片| 精品噜噜噜噜久久久久久久久试看 | 久久久另类综合| 三级久久三级久久久| 成人精品亚洲人成在线| 日韩女优av电影在线观看| 国产精品蜜臀av| 国产电影一区二区三区| 欧美日韩国产三级| 亚洲综合清纯丝袜自拍| 成人av在线影院| 国产午夜亚洲精品理论片色戒| 人妖欧美一区二区| 日韩精品一区二区三区在线观看 | 成a人片亚洲日本久久| 99综合电影在线视频| 2021国产精品久久精品| 亚洲国产视频一区二区| 欧美在线免费观看视频| 亚洲在线视频网站| 美女视频黄 久久| av资源站一区| 久久久国际精品| 国产成人免费视| 中文字幕综合网| 日本久久一区二区三区| 亚洲成人1区2区| 欧美成人r级一区二区三区| 免费看欧美女人艹b| 日韩视频123| 国产精品996| 一区二区在线观看av| 欧美三级韩国三级日本一级| 亚洲成人综合在线| 日韩一区二区三区四区五区六区 | 亚洲猫色日本管| 欧美手机在线视频| 日本成人中文字幕在线视频| 欧美不卡在线视频| 粉嫩蜜臀av国产精品网站| 亚洲欧洲成人自拍| 欧美精品v日韩精品v韩国精品v| 国产在线观看免费一区| 亚洲精品一二三区| 日韩午夜激情视频| 99re这里只有精品视频首页| 亚洲成av人影院| 亚洲欧洲日产国码二区| 日韩欧美区一区二| 日本韩国欧美一区二区三区| 九九在线精品视频| 亚洲国产成人91porn| 亚洲国产精品精华液ab| 欧美一区二区精美| 欧美日韩一区二区在线观看视频| 国产在线不卡一区| 精品在线免费观看| 有坂深雪av一区二区精品| 色婷婷激情综合| 国产成人综合在线播放| 美女免费视频一区二区| 天堂久久一区二区三区| 亚洲蜜桃精久久久久久久| 亚洲国产高清在线| 国产精品免费久久| 日本一区二区高清| 亚洲另类色综合网站| 日韩毛片一二三区| 亚洲免费av观看| 亚洲三级在线看| 一区二区三区国产豹纹内裤在线| 亚洲国产高清在线观看视频| 国产精品久久影院| 亚洲欧美电影院| 亚洲午夜三级在线| 日韩va亚洲va欧美va久久| 久久精品国产色蜜蜜麻豆| 国产在线播精品第三| 波多野结衣中文字幕一区二区三区 | 免费高清在线一区| 国产剧情一区二区| 欧美在线一区二区| 日韩三级伦理片妻子的秘密按摩| 久久亚洲免费视频| 亚洲视频在线一区二区| 天天操天天干天天综合网| 另类调教123区| 99re热这里只有精品视频| 欧美美女一区二区三区| 久久青草欧美一区二区三区| 亚洲精品亚洲人成人网 | 日韩一区欧美小说| 日本午夜一本久久久综合| 成人一区二区三区中文字幕| 在线观看免费一区| 国产欧美一区二区精品仙草咪| 亚洲美女淫视频| 亚洲sss视频在线视频| 国产.欧美.日韩| 日韩片之四级片| 一区二区三区在线视频观看58| 精品一二三四在线| 欧美日产在线观看| 一区二区在线观看免费视频播放| 蜜桃精品在线观看| 一本大道久久a久久综合| 国产视频在线观看一区二区三区| 午夜欧美在线一二页| 成人av电影在线观看| 国产欧美精品一区二区三区四区| 午夜欧美大尺度福利影院在线看| 白白色 亚洲乱淫| 国产精品卡一卡二| 99re这里都是精品| 亚洲精品国产一区二区三区四区在线 | 欧美午夜影院一区|