首頁 >後端開發 >C++ >如何安全地從 Windows 登錄讀取值:逐步指南

如何安全地從 Windows 登錄讀取值:逐步指南

Patricia Arquette
Patricia Arquette原創
2024-11-02 03:30:02218瀏覽

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

如何從Windows 登錄機碼安全讀取值

偵測登錄項目是否存在

確定登錄項目是否存在:

<code class="cpp">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
}</code>

讀取登錄值

擷取鍵的預設值:

<code class="cpp">std::wstring strKeyDefaultValue;
GetStringRegKey(hKey, L"", strKeyDefaultValue, L"bad");</code>

擷取字串值:

<code class="cpp">std::wstring strValueOfBinDir;
GetStringRegKey(hKey, L"BinDir", strValueOfBinDir, L"bad");</code>

擷取DWORD值:

<code class="cpp">DWORD nValue;
LONG nError = GetDWORDRegKey(hKey, L"DWORD_Value_Name", nValue, 0);</code>

要檢索布林值:

<code class="cpp">bool bValue;
LONG nError = GetBoolRegKey(hKey, L"BOOL_Value_Name", bValue, false);</code>

附加說明

這些函數需要以下函式庫依賴項:

  • Advapiapi32.lib

請記住,這些函數僅用於讀取值。如果可能的話,避免寫入註冊表。

以上是如何安全地從 Windows 登錄讀取值:逐步指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn