Win32注册表操作简记

打开注册表编辑器regedit.exe,界面左边显示的是健,右边显示的是健值,健可以分成主键及子键,健值由键值名称和内容构成,由于在写程序时候没有搞清楚这些基本的概念,导致了API的使用问题,以下程序为枚举某子键下的所有值

	const char* s = "I5";

	LPSTR strPathName1("...");
	HKEY hKey;	
	HRESULT hr = RegOpenKey(HKEY_LOCAL_MACHINE,strPathName1,&hKey);
	if(
		ERROR_SUCCESS != hr)
{LPSTR strPathName2("...");hr = RegOpenKey(HKEY_LOCAL_MACHINE,strPathName2,&hKey);}if(ERROR_SUCCESS != hr){return FALSE;}DWORD dwIndex = 0;TCHAR szValueName[MAX_PATH];TCHAR szValue[MAX_PATH];memset(szValueName,0,MAX_PATH*sizeof(TCHAR));memset(szValue,0,MAX_PATH*sizeof(TCHAR));DWORD dwNameLen = MAX_PATH*sizeof(TCHAR);DWORD dwValueLen = MAX_PATH*sizeof(TCHAR);DWORD dwType;while(ERROR_SUCCESS == (hr = RegEnumValue(hKey,dwIndex,szValueName,&dwNameLen,NULL,&dwType,(LPBYTE)szValue,&dwValueLen)))//while(ERROR_SUCCESS == (hr = RegEnumKeyEx(hKey, dwIndex, szSubKey, &dwNameLen, NULL, NULL, NULL, NULL)))//枚举子键时才用到{if(_tcscmp(szValue,s)){WORD s = (WORD)atoi(szValueName);break;}memset(szValueName,0,MAX_PATH*sizeof(TCHAR));memset(szValue,0,MAX_PATH*sizeof(TCHAR));dwNameLen = MAX_PATH*sizeof(TCHAR);dwValueLen = MAX_PATH*sizeof(TCHAR);++dwIndex; }RegCloseKey(hKey);







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值