请教:循环读取注册表
大家好!问题如下:
注册表如下:
0 REG_SZ ewtwt
1 REG_SZ ewehfgj
... ... ...
n REG_SZ jtykjty
我能不能写个循环读取?我写了一个,可是只能读第一个0的键值
DWORD type_2=REG_SZ ; DWORD cbData_2=80;
for(int i=0; i<20;i++)
{
LPBYTE product_Get=new BYTE[80];
str_temp.Format("%d", i);
long ret2=::RegQueryValueEx(hKEY, str_temp, NULL,&type_2,product_Get, &cbData_2);
CString buf = CString(product_Get);
AfxMessageBox(VendorID);
delete[] product_Get;
}
问题点数:20、回复次数:3Top
1 楼idAnts(此广告位招租)回复于 2005-09-01 14:50:53 得分 10
把cbData_2=80;放到循环里面的第一句。
看看再说。Top
2 楼cpp1900(程序员)回复于 2005-09-11 01:04:32 得分 10
http://www.silurian.com/gawp/fomg2.htm
// Enumerate all values under hRegKey
BuffSize = 256;
DataSize = 256;
for (Ind = 0;
::RegEnumValue (hRegKey, Ind, NameBuffer, &BuffSize, NULL, &RegType, (BYTE*)DataBuffer, &DataSize) != ERROR_NO_MORE_ITEMS;
Ind++)
{
Report ("Enum Value %d Name '%s' Type %x\n", Ind, NameBuffer, RegType);
BuffSize = 256;
DataSize = 256;
}
Top
3 楼MapleInHG()回复于 2005-09-11 10:53:32 得分 0
你这样做也可以,把 idAnts(你才无聊呢)的提示加上就可以了。Top




