CSettingsStore 類別
包裝 Windows 應用程式開發介面函式,提供用來存取登錄的物件導向介面。
語法
class CSettingsStore : public CObject
成員
公用建構函式
名稱 | 描述 |
---|---|
CSettingsStore::CSettingsStore | 建構 CSettingsStore 物件。 |
公用方法
名稱 | 描述 |
---|---|
CSettingsStore::Close | 關閉開啟的登錄機碼。 |
CSettingsStore::CreateKey | 開啟指定的索引鍵,如果不存在,則會建立它。 |
CSettingsStore::D eleteKey | 刪除指定的索引鍵及其所有子系。 |
CSettingsStore::D eleteValue | 刪除開啟索引鍵的指定值。 |
CSettingsStore::Open | 開啟指定的索引鍵。 |
CSettingsStore::Read | 擷取指定索引鍵值的數據。 |
CSettingsStore::Write | 將值寫入開啟機碼下的登錄。 |
備註
成員函式 CreateKey
和 Open
非常類似。 如果登錄機碼已經存在, CreateKey
並以 Open
相同的方式運作。 不過,如果登錄機碼不存在,則會建立它, CreateKey
而 Open
會傳回錯誤值。
範例
下列範例示範如何使用 類別的 CSettingsStore
Open 和 Read 方法。 此代碼段是工具提示示範範例的一部分。
CSettingsStore reg(FALSE, TRUE);
DWORD dwEnableBalloonTips = 1;
if (reg.Open(_T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced")) &&
reg.Read(_T("EnableBalloonTips"), dwEnableBalloonTips))
{
return dwEnableBalloonTips == 1;
}
繼承階層架構
CSettingsStore
需求
標頭: afxsettingsstore.h
CSettingsStore::Close
關閉開啟的登錄機碼。
virtual void Close();
備註
根據預設,此方法會從 CSettingsStore 類別的解構函式呼叫。
CSettingsStore::CreateKey
開啟登錄機碼,如果登錄機碼不存在,則會加以建立。
virtual BOOL CreateKey(LPCTSTR pszPath);
參數
pszPath
[in]指定要建立或開啟之金鑰的名稱。
傳回值
如果成功,則為 0;否則為非零值。
備註
CreateKey
使用 m_hKey
做為登錄查詢的根目錄。 它會搜尋 pszPath 做為 的 m_hKey
子機碼。 如果機碼不存在, CreateKey
請加以建立。 否則,它會開啟金鑰。 CreateKey
然後將 設定 m_hKey
為已建立或開啟的索引鍵。
CSettingsStore::CSettingsStore
建立 CSettngsStore
物件。
CSettingsStore(
BOOL bAdmin,
BOOL bReadOnly);
參數
bAdmin
[in]布爾參數,指定物件是否 CSettingsStore
在系統管理員模式中運作。
bReadOnly
[in]布爾參數,指定物件是否 CSettingsStore
以唯讀模式建立。
備註
如果 bAdmin 設定為 TRUE,則 m_hKey
成員變數會設定為 HKEY_LOCAL_MACHINE。 如果您將 bAdmin 設定為 FALSE,m_hKey
則會設定為 HKEY_CURRENT_USER。
安全性存取取決於 bReadOnly 參數。 如果 bReadonly 為 FALSE,安全性存取將會設定為 KEY_ALL_ACCESS。 如果 bReadyOnly 為 TRUE,安全性存取權將會設定為KEY_QUERY_VALUE、KEY_NOTIFY和KEY_ENUMERATE_SUB_KEYS的組合。 如需安全性存取與登錄的詳細資訊,請參閱 登錄機碼安全性和訪問許可權。
自動發行的CSettingsStore
m_hKey
解構函式。
CSettingsStore::D eleteKey
從登錄中刪除機碼及其所有子系。
virtual BOOL DeleteKey(
LPCTSTR pszPath,
BOOL bAdmin = FALSE);
參數
pszPath
[in]要刪除的索引鍵名稱。
bAdmin
[in]參數,指定要刪除之索引鍵的位置。
傳回值
如果成功則為非零;否則為 0。
備註
如果對象處於唯讀模式, CSettingsStore
這個方法將會失敗。
如果參數 bAdmin 為零, DeleteKey
請在 [HKEY_CURRENT_USER] 下 搜尋要刪除的索引鍵。 如果 bAdmin 為非零,DeleteKey
請在 [HKEY_LOCAL_MACHINE] 下搜尋要刪除的索引鍵。
CSettingsStore::D eleteValue
從 m_hKey
刪除值。
virtual BOOL DeleteValue(LPCTSTR pszValue);
參數
pszValue
[in]指定要移除的值欄位。
傳回值
如果成功則為非零;否則為 0。
CSettingsStore::Open
開啟登錄機碼。
virtual BOOL Open(LPCTSTR pszPath);
參數
pszPath
[in]登錄機碼的名稱。
傳回值
如果成功則為非零;否則為 0。
備註
這個方法成功開啟指定的索引鍵之後,它會設定 m_hKey
為這個金鑰的句柄。
CSettingsStore::Read
從登錄中的機碼讀取值。
virtual BOOL Read(
LPCTSTR pszKey,
int& iVal);
virtual BOOL Read(
LPCTSTR pszKey,
DWORD& dwVal);
virtual BOOL Read(
LPCTSTR pszKey,
CString& sVal);
virtual BOOL Read(
LPCTSTR pszKey,
CStringList& scStringList);
virtual BOOL Read(
LPCTSTR pszKey,
CStringArray& scArray);
virtual BOOL Read(
LPCTSTR pszKey,
CDWordArray& dwcArray);
virtual BOOL Read(
LPCTSTR pszKey,
CWordArray& wcArray);
virtual BOOL Read(
LPCTSTR pszKey,
CByteArray& bcArray);
virtual BOOL Read(
LPCTSTR pszKey,
LPPOINT& lpPoint);
virtual BOOL Read(
LPCTSTR pszKey,
CRect& rect);
virtual BOOL Read(
LPCTSTR pszKey,
BYTE** ppData,
UINT* pBytes);
virtual BOOL Read(
LPCTSTR pszKey,
CObList& list);
virtual BOOL Read(
LPCTSTR pszKey,
CObject& obj);
virtual BOOL Read(
LPCTSTR pszKey,
CObject*& pObj);
參數
pszKey
[in]Null 終止字串的指標,其中包含要從登錄讀取之值的名稱。
iVal
[out]從登錄機碼讀取值的整數變數參考。
dwVal
[out]從登錄機碼讀取值的32位雙字變數參考。
sVal
[out]從登錄機碼讀取值的字串變數參考。
scStringList
[out]從登錄機碼讀取值的字串清單變數參考。
scArray
[out]從登錄機碼讀取值的字串數位變數參考。
dwcArray
[out]從登錄機碼讀取值的32位雙字數位變數參考。
wcArray
[out]從登錄機碼讀取值的16位字數位變數參考。
bcArray
[out]從登錄機碼讀取值的位元組數位變數參考。
lpPoint
[out]從登錄機碼讀取值之結構的指標 POINT
參考。
rect
[out] 從登錄機碼讀取值的 CRect 變數參考。
ppData
[out]從登錄機碼讀取值之數據的指標指標。
pBytes
[out]無符號整數變數的指標。 此變數會接收 ppData 指向的緩衝區大小。
清單
[out] 從登錄機碼讀取值的 CObList 變數參考。
obj
[out] 從登錄機碼讀取值的 CObject 變數參考。
pObj
[out]從登錄機碼讀取值之變數的指標 CObject
參考。
傳回值
如果成功則為非零;否則為 0。
備註
Read
會檢查 pszKey 做為 的m_hKey
子機碼。
CSettingsStore::Write
將值寫入開啟機碼下的登錄。
virtual BOOL Write(
LPCTSTR pszKey,
int iVal);
virtual BOOL Write(
LPCTSTR pszKey,
DWORD dwVal);
virtual BOOL Write(
LPCTSTR pszKey,
LPCTSTR pszVal);
virtual BOOL Write(
LPCTSTR pszKey,
CStringList& scStringList);
virtual BOOL Write(
LPCTSTR pszKey,
CByteArray& bcArray);
virtual BOOL Write(
LPCTSTR pszKey,
CStringArray& scArray);
virtual BOOL Write(
LPCTSTR pszKey,
CDWordArray& dwcArray);
virtual BOOL Write(
LPCTSTR pszKey,
CWordArray& wcArray);
virtual BOOL Write(
LPCTSTR pszKey,
const CRect& rect);
virtual BOOL Write(
LPCTSTR pszKey,
LPPOINT& lpPoint);
virtual BOOL Write(
LPCTSTR pszKey,
LPBYTE pData,
UINT nBytes);
virtual BOOL Write(
LPCTSTR pszKey,
CObList& list);
virtual BOOL Write(
LPCTSTR pszKey,
CObject& obj);
virtual BOOL Write(
LPCTSTR pszKey,
CObject* pObj);
參數
pszKey
[in]字串的指標,其中包含要設定之值的名稱。
iVal
[in]包含要儲存之數據的整數變數參考。
dwVal
[in]包含要儲存之數據的32位雙字變數參考。
pszVal
[in]包含要儲存之數據的 Null 終止字串變數指標。
scStringList
[in] 包含要儲存之數據的 CStringList 變數參考。
bcArray
[in]位元組數位變數的參考,其中包含要儲存的數據。
scArray
[in]字串數位變數的參考,其中包含要儲存的數據。
dwcArray
[in]包含要儲存之數據的32位雙字數位變數參考。
wcArray
[in]包含要儲存之數據的16位文字數位變數參考。
rect
[in] 包含要儲存之數據的 CRect 變數參考。
lpPoint
[in]包含要儲存之數據的變數指標 POINT
參考。
pData
[in]包含要儲存之數據的緩衝區指標。
nBytes
[in]指定 pData 參數所指向之數據的大小,以位元組為單位。
清單
[in] 包含要儲存之數據的 CObList 變數參考。
obj
[in] 包含要儲存之數據的 CObject 變數參考。
pObj
[in]包含要儲存之數據的變數指標 CObject
指標。
傳回值
如果成功,則為 TRUE,否則為 FALSE。
備註
若要寫入登錄,您必須在建立 CSettingsStore 物件時,將 bReadOnly 設定為非零值。 如需詳細資訊,請參閱 CSettingsStore::CSettingsStore。