RegistryHelper::enumSubKeys

0 0 2025-05-29 本文地址:http://www.pnpon.com/fun/detail-29.html
vector<wstring> RegistryHelper::enumSubKeys(wstring key)
{
    vector<wstring> result;

    HKEY keyHandle = openKey(key, KEY_ENUMERATE_SUB_KEYS | KEY_WOW64_64KEY);

    wchar_t keyName[256];
    DWORD keyLength = sizeof(keyName) / sizeof(wchar_t);
    int i = 0;

    LSTATUS status;
    while ((status = RegEnumKeyExW(keyHandle, i++, keyName, &keyLength, NULL, NULL, NULL, NULL)) == ERROR_SUCCESS)
    {
        keyLength = sizeof(keyName) / sizeof(wchar_t);

        result.push_back(keyName);
    }

    RegCloseKey(keyHandle);

    if (status != ERROR_NO_MORE_ITEMS)
        throw RegistryException(L"Error while enumerating sub keys of registry key " + key + L": " + StringHelper::getSystemErrorString(status));

    return result;
}
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!