1VB声明
Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, lpReserved As Long, lpType As Long, lpData As Byte, lpcbData As Long) As Long
2说明
枚举指定项的值
3返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
4参数表
参数 类型及说明
hKey Long,一个已打开项的句柄,或者指定一个标准项名
dwIndex Long,欲获取值的索引。注意第一个值的索引编号为零
lpValueName String,用于装载位于指定索引处值名的一个缓冲区
lpcbValueName Long,用于装载lpValueName缓冲区长度的一个
变量。一旦返回,它会设为实际载入缓冲区的字符数量
lpReserved Long,未用;设为零
lpType Long,用于装载值的类型代码的
变量
lpData Byte,用于装载值数据的一个缓冲区
lpcbData Long,用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际载入缓冲区的字符数量
例如:
HKEY hKey;
int i=0;
TCHAR portName[255],commName[255];
DWORD dwLong,dwSize;
while(1)
{
dwLong = dwSize = sizeof(portName)/sizeof(TCHAR);
if( ::RegEnumValue( hKey, i, portName, &dwLong, NULL, NULL, (PUCHAR)commName, &dwSize ) == ERROR_NO_MORE_ITEMS )
break;
m_cbCom->AddString( commName );// commName
i++;
}