枚举注册表子项
发现火山没有,可以新增一个以备不时之需。<火山程序 类型 = "通常" 版本 = 1 />
方法 枚举注册表子项 <公开 静态 类型 = 整数 注释 = "枚举注册表指定路径下的所有子项名称,返回子项数量" 返回值注释 = "子项数量">
参数 根目录 <类型 = 注册表根目录类型>
参数 表项路径 <类型 = 文本型 注释 = "提供表项所处的注册表路径文本,路径分隔符为\'\\\\\'字符.">
参数 子项名称数组 <类型 = 文本数组类 注释 = "接收子项名称">
{
变量 子项数量 <类型 = 整数 值 = 0>
@ HKEY hKey = NULL;
@ if (::RegOpenKeyExW((HKEY)(UINT_P)@<根目录>, @<表项路径>.GetText(), 0, KEY_READ, &hKey) == ERROR_SUCCESS)
@ {
@ DWORD dwIndex = 0;
@ WCHAR szName;
@ DWORD dwNameLen = 256;
@ while (::RegEnumKeyExW(hKey, dwIndex, szName, &dwNameLen, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
@ {
@ @<子项名称数组>.data().Add4(1, szName);
@ dwIndex++;
@ dwNameLen = 256;
@ }
@ ::RegCloseKey(hKey);
@ @<子项数量> = (INT_P)@<子项名称数组>.data().GetCount();
@ }
返回 (子项数量)
}
:):):):):):):):):)
页:
[1]