139 LONG WindowsRegistryTools::GetDWORDRegKey(HKEY hKey,
140 const std::wstring& strValueName,
141 DWORD& nValue, DWORD nDefaultValue)
143 nValue = nDefaultValue;
144 DWORD dwBufferSize(
sizeof(DWORD));
147 ::RegQueryValueExW(hKey, strValueName.c_str(), 0,
nullptr,
148 reinterpret_cast<LPBYTE
>(&nResult), &dwBufferSize);
149 if (ERROR_SUCCESS == nError) {
155 LONG WindowsRegistryTools::GetBoolRegKey(HKEY hKey,
156 const std::wstring& strValueName,
157 bool& bValue,
bool bDefaultValue)
159 DWORD nDefValue((bDefaultValue) ? 1 : 0);
160 DWORD nResult(nDefValue);
161 LONG nError = GetDWORDRegKey(hKey, strValueName, nResult, nDefValue);
162 if (ERROR_SUCCESS == nError) {
163 bValue = (nResult != 0) ?
true :
false;
168 LONG WindowsRegistryTools::GetStringRegKey(HKEY hKey,
169 const std::wstring& strValueName,
170 std::wstring& strValue,
171 const std::wstring& strDefaultValue)
173 strValue = strDefaultValue;
175 DWORD dwBufferSize =
sizeof(szBuffer);
177 nError = RegQueryValueExW(hKey, strValueName.c_str(), 0,
nullptr,
178 (LPBYTE)szBuffer, &dwBufferSize);
179 if (ERROR_SUCCESS == nError) {