«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как безопасно читать значения из реестра Windows: пошаговое руководство

Как безопасно читать значения из реестра Windows: пошаговое руководство

Опубликовано 3 ноября 2024 г.
Просматривать:489

How to Safely Read Values from the Windows Registry: A Step-by-Step Guide

Как безопасно читать значения из реестра Windows

Определение существования ключа реестра

Чтобы определить, существует ли ключ реестра:

LONG lRes = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Perl", 0, KEY_READ, &hKey);
if (lRes == ERROR_SUCCESS) {
  // Key exists
} else if (lRes == ERROR_FILE_NOT_FOUND) {
  // Key does not exist
}

Чтение значений реестра

Чтобы получить значение ключа по умолчанию:

std::wstring strKeyDefaultValue;
GetStringRegKey(hKey, L"", strKeyDefaultValue, L"bad");

Чтобы получить строковое значение:

std::wstring strValueOfBinDir;
GetStringRegKey(hKey, L"BinDir", strValueOfBinDir, L"bad");

Чтобы получить значение DWORD:

DWORD nValue;
LONG nError = GetDWORDRegKey(hKey, L"DWORD_Value_Name", nValue, 0);

Чтобы получить логическое значение:

bool bValue;
LONG nError = GetBoolRegKey(hKey, L"BOOL_Value_Name", bValue, false);

Дополнительные примечания

Для этих функций необходимы следующие зависимости библиотеки:

  • Advapi32.lib

Помните, что эти функции предназначены только для чтения значений. По возможности избегайте записи в реестр.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3