使用 Windows 系統時,通常需要存取和擷取登錄中的資料。註冊表儲存重要的配置設定、使用者首選項和軟體相關資訊。本文將指導您如何安全地檢查註冊表項是否存在並使用 C 以程式設計方式檢索其值。
要確定登錄項目是否存在,請呼叫 RegOpenKeyExW具有關鍵路徑和首選權限的功能。如果函數傳回 ERROR_SUCCESS,則該鍵存在。如果傳回 ERROR_FILE_NOT_FOUND,則該鍵不存在。否則,無法確定註冊表項是否存在。
確認登錄項目存在後,您可以透過程式擷取其值。要使用的具體函數取決於值的資料類型。常見類型包括字串、DWORD 和布林值。以下是擷取每種類型的方法:
字串值:
<code class="c++">std::wstring strValueOfBinDir; GetStringRegKey(hKey, L"BinDir", strValueOfBinDir, L"bad");</code>
DWORD 值:
<code class="c++">DWORD nValue; LONG nError = GetDWORDRegKey(hKey, L"MyDWORD", nValue, 0);</code>
布林值:
<code class="c++">bool bValue; LONG nError = GetBoolRegKey(hKey, L"MyBool", bValue, false);</code>
請記得在程式碼中包含Advapi32.lib 函式庫相依性。
以上是如何使用 C 從 Windows 登錄中檢索值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!