CSettingsStore – třída
Zabalí funkce rozhraní API systému Windows a poskytuje objektově orientované rozhraní, které používáte pro přístup k registru.
Syntaxe
class CSettingsStore : public CObject
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CSettingsStore::CSettingsStore | CSettingsStore Vytvoří objekt. |
Veřejné metody
Název | Popis |
---|---|
CSettingsStore::Close | Zavře otevřený klíč registru. |
CSettingsStore::CreateKey | Otevře zadaný klíč nebo ho vytvoří, pokud neexistuje. |
CSettingsStore::D eleteKey | Odstraní zadaný klíč a všechny jeho podřízené položky. |
CSettingsStore::D eleteValue | Odstraní zadanou hodnotu otevřeného klíče. |
CSettingsStore::Open | Otevře zadaný klíč. |
CSettingsStore::Read | Načte data pro zadanou hodnotu klíče. |
CSettingsStore::Write | Zapíše hodnotu do registru pod otevřeným klíčem. |
Poznámky
Členské funkce CreateKey
a Open
jsou velmi podobné. Pokud klíč registru již existuje a CreateKey
Open
funguje stejným způsobem. Pokud však klíč registru neexistuje, vytvoří se, CreateKey
zatímco Open
vrátí chybovou hodnotu.
Příklad
Následující příklad ukazuje, jak používat Open a Read metody CSettingsStore
třídy. Tento fragment kódu je součástí ukázky tool tipu.
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;
}
Hierarchie dědičnosti
CSettingsStore
Požadavky
Hlavička: afxsettingsstore.h
CSettingsStore::Close
Zavře otevřený klíč registru.
virtual void Close();
Poznámky
Ve výchozím nastavení je tato metoda volána z destruktoru CSettingsStore Třídy.
CSettingsStore::CreateKey
Otevře klíč registru nebo ho vytvoří, pokud neexistuje.
virtual BOOL CreateKey(LPCTSTR pszPath);
Parametry
pszPath
[v] Určuje název klíče, který se má vytvořit nebo otevřít.
Návratová hodnota
0 v případě úspěchu; jinak nenulová hodnota.
Poznámky
CreateKey
používá m_hKey
jako kořen dotazů v rejstříku. Hledá pszPath jako podklíč .m_hKey
Pokud klíč neexistuje, CreateKey
vytvoří ho. V opačném případě se klíč otevře. CreateKey
potom se nastaví m_hKey
na vytvořený nebo otevřený klíč.
CSettingsStore::CSettingsStore
CSettngsStore
Vytvoří objekt.
CSettingsStore(
BOOL bAdmin,
BOOL bReadOnly);
Parametry
bAdmin
[v] Logický parametr, který určuje, zda CSettingsStore
objekt funguje v režimu správce.
bReadOnly
[v] Logický parametr, který určuje, zda CSettingsStore
je objekt vytvořen v režimu jen pro čtení.
Poznámky
Pokud je bAdmin nastaven na HODNOTU TRUE, m_hKey
je proměnná člena nastavena na HKEY_LOCAL_MACHINE. Pokud nastavíte bAdmin na FALSE, m_hKey
nastaví se na HKEY_CURRENT_USER.
Přístup k zabezpečení závisí na parametru bReadOnly . Pokud je bReadonly FALSE, bude přístup zabezpečení nastaven na KEY_ALL_ACCESS. Pokud je bReadyOnly PRAVDA, bude přístup zabezpečení nastaven na kombinaci KEY_QUERY_VALUE, KEY_NOTIFY a KEY_ENUMERATE_SUB_KEYS. Další informace o přístupu k zabezpečení společně s registrem naleznete v tématu Zabezpečení klíče registru a přístupová práva.
Destruktor pro CSettingsStore
vydané verze m_hKey
se automaticky uvolní.
CSettingsStore::D eleteKey
Odstraní klíč a všechny jeho podřízené položky z registru.
virtual BOOL DeleteKey(
LPCTSTR pszPath,
BOOL bAdmin = FALSE);
Parametry
pszPath
[v] Název klíče, který chcete odstranit.
bAdmin
[v] Přepněte, které určuje umístění klíče, které chcete odstranit.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Tato metoda selže, pokud CSettingsStore
je objekt v režimu jen pro čtení.
Pokud je parametr bAdmin nula, vyhledá klíč, DeleteKey
který se má odstranit v části HKEY_CURRENT_USER. Pokud je bAdmin nenulová, vyhledá klíč, DeleteKey
který se má odstranit v části HKEY_LOCAL_MACHINE.
CSettingsStore::D eleteValue
Odstraní hodnotu z m_hKey
.
virtual BOOL DeleteValue(LPCTSTR pszValue);
Parametry
pszValue
[v] Určuje pole hodnoty, které se má odebrat.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
CSettingsStore::Open
Otevře klíč registru.
virtual BOOL Open(LPCTSTR pszPath);
Parametry
pszPath
[v] Název klíče registru.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Jakmile tato metoda úspěšně otevře zadaný klíč, nastaví m_hKey
se na popisovač tohoto klíče.
CSettingsStore::Read
Načte hodnotu z klíče v registru.
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);
Parametry
pszKey
[v] Ukazatel na řetězec ukončený hodnotou null, který obsahuje název hodnoty pro čtení z registru.
iVal
[ven] Odkaz na celočíselnou proměnnou, která přijímá hodnotu přečtenou z klíče registru.
dwVal
[ven] Odkaz na 32bitovou dvojitou wordovou proměnnou, která přijímá hodnotu přečtenou z klíče registru.
sVal
[ven] Odkaz na řetězcovou proměnnou, která přijímá hodnotu načtenou z klíče registru.
scStringList
[ven] Odkaz na proměnnou seznamu řetězců, která přijímá hodnotu načtenou z klíče registru.
scArray
[ven] Odkaz na proměnnou pole řetězců, která přijímá hodnotu přečtenou z klíče registru.
dwcArray
[ven] Odkaz na 32bitovou dvojitou proměnnou pole slov, která přijímá hodnotu přečtenou z klíče registru.
wcArray
[ven] Odkaz na 16bitovou proměnnou pole slov, která přijímá hodnotu přečtenou z klíče registru.
bcArray
[ven] Odkaz na proměnnou pole bajtů, která přijímá hodnotu přečtenou z klíče registru.
lpPoint
[ven] Odkaz na ukazatel na POINT
strukturu, která přijímá hodnotu přečtenou z klíče registru.
Rect
[ven] Odkaz na proměnnou CRect , která přijímá hodnotu načtenou z klíče registru.
ppData
[ven] Ukazatel na ukazatel na data, která obdrží hodnotu přečtenou z klíče registru.
pBytes
[ven] Ukazatel na celočíselnou proměnnou bez znaménka Tato proměnná obdrží velikost vyrovnávací paměti, na kterou ppData odkazuje.
list
[ven] Odkaz na proměnnou CObList , která přijímá hodnotu načtenou z klíče registru.
Obj
[ven] Odkaz na proměnnou CObject , která přijímá hodnotu načtenou z klíče registru.
pObj
[ven] Odkaz na ukazatel na proměnnou CObject
, která přijímá hodnotu přečtenou z klíče registru.
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
Read
hledá pszKey jako podklíč .m_hKey
CSettingsStore::Write
Zapíše hodnotu do registru pod otevřeným klíčem.
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);
Parametry
pszKey
[v] Ukazatel na řetězec, který obsahuje název hodnoty, kterou chcete nastavit.
iVal
[v] Odkaz na celočíselnou proměnnou, která obsahuje data k uložení.
dwVal
[v] Odkaz na 32bitovou dvojitou wordovou proměnnou, která obsahuje data k uložení.
pszVal
[v] Ukazatel na proměnnou řetězce s ukončenou hodnotou null, která obsahuje data k uložení.
scStringList
[v] Odkaz na proměnnou CStringList , která obsahuje data k uložení.
bcArray
[v] Odkaz na proměnnou pole bajtů, která obsahuje data k uložení.
scArray
[v] Odkaz na proměnnou pole řetězců, která obsahuje data k uložení.
dwcArray
[v] Odkaz na 32bitovou dvojitou proměnnou pole slov, která obsahuje data k uložení.
wcArray
[v] Odkaz na 16bitovou proměnnou pole slov, která obsahuje data k uložení.
Rect
[v] Odkaz na proměnnou CRect , která obsahuje data k uložení.
lpPoint
[v] Odkaz na ukazatel na proměnnou POINT
, která obsahuje data k uložení.
pData
[v] Ukazatel na vyrovnávací paměť, která obsahuje data k uložení.
nBajty
[v] Určuje velikost dat, na která odkazuje parametr pData v bajtech.
list
[v] Odkaz na proměnnou CObList , která obsahuje data k uložení.
Obj
[v] Odkaz na proměnnou CObject , která obsahuje data k uložení.
pObj
[v] Ukazatel na ukazatel na proměnnou CObject
, která obsahuje data k uložení.
Návratová hodnota
TRUE v případě úspěchu; jinak NEPRAVDA.
Poznámky
Chcete-li zapisovat do registru, je nutné nastavit bReadOnly na nenulovou hodnotu při vytváření CSettingsStore objektu. Další informace naleznete v tématu CSettingsStore::CSettingsStore.