Sdílet prostřednictvím


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

Objekt CObject

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

Readhledá 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.

Viz také

Graf hierarchie
Třídy
CWinAppEx – třída