Condividi tramite


Classe CSettingsStore

Esegue il wrapping di funzioni API di Windows, fornendo un'interfaccia orientata a oggetti che è possibile utilizzare per accedere al Registro di sistema.

Sintassi

class CSettingsStore : public CObject

Membri

Costruttori pubblici

Nome Descrizione
CSettingsStore::CSettingsStore Costruisce un oggetto CSettingsStore.

Metodi pubblici

Nome Descrizione
CSettingsStore::Close Chiude la chiave del Registro di sistema aperta.
CSettingsStore::CreateKey Apre la chiave specificata o la crea se non esiste.
CSettingsStore::D eleteKey Elimina la chiave specificata e tutti i relativi elementi figlio.
CSettingsStore::D eleteValue Elimina il valore specificato della chiave aperta.
CSettingsStore::Open Apre la chiave specificata.
CSettingsStore::Read Recupera i dati per un valore di chiave specificato.
CSettingsStore::Write Scrive un valore nel Registro di sistema sotto la chiave aperta.

Osservazioni:

Le funzioni CreateKey membro e Open sono molto simili. Se la chiave del Registro di sistema esiste CreateKey già e Open funziona nello stesso modo. Tuttavia, se la chiave del Registro di sistema non esiste, CreateKey la creerà mentre Open restituirà un valore di errore.

Esempio

Nell'esempio seguente viene illustrato come utilizzare i metodi Open e Read della CSettingsStore classe . Questo frammento di codice fa parte dell'esempio demo della descrizione comando.

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;
}

Gerarchia di ereditarietà

CObject

CSettingsStore

Requisiti

Intestazione: afxsettingsstore.h

CSettingsStore::Close

Chiude la chiave del Registro di sistema aperta.

virtual void Close();

Osservazioni:

Per impostazione predefinita, questo metodo viene chiamato dal distruttore della classe CSettingsStore.

CSettingsStore::CreateKey

Apre una chiave del Registro di sistema o la crea se non esiste.

virtual BOOL CreateKey(LPCTSTR pszPath);

Parametri

pszPath
[in] Specifica il nome di una chiave da creare o aprire.

Valore restituito

0 se ha esito positivo; in caso contrario, un valore diverso da zero.

Osservazioni:

CreateKey usa m_hKey come radice delle richieste del Registro di sistema. Cerca pszPath come sottochiave di m_hKey. Se la chiave non esiste, CreateKey la crea. In caso contrario, apre la chiave. CreateKey quindi imposta m_hKey sulla chiave creata o aperta.

CSettingsStore::CSettingsStore

Crea un oggetto CSettngsStore.

CSettingsStore(
    BOOL bAdmin,
    BOOL bReadOnly);

Parametri

bAdmin
[in] Parametro booleano che specifica se l'oggetto CSettingsStore agisce in modalità amministratore.

bReadOnly
[in] Parametro booleano che specifica se l'oggetto CSettingsStore viene creato in modalità di sola lettura.

Osservazioni:

Se bAdmin è impostato su TRUE, la m_hKey variabile membro viene impostata su HKEY_LOCAL_MACHINE. Se si imposta bAdmin su FALSE, m_hKey è impostato su HKEY_CURRENT_USER.

L'accesso alla sicurezza dipende dal parametro bReadOnly . Se bReadonly è FALSE, l'accesso alla sicurezza verrà impostato su KEY_ALL_ACCESS. Se bReadyOnly è TRUE, l'accesso alla sicurezza verrà impostato su una combinazione di KEY_QUERY_VALUE, KEY_NOTIFY e KEY_ENUMERATE_SUB_KEYS. Per altre informazioni sull'accesso alla sicurezza insieme al Registro di sistema, vedere Sicurezza e diritti di accesso delle chiavi del Registro di sistema.

Distruttore per CSettingsStore le versioni m_hKey automaticamente.

CSettingsStore::D eleteKey

Elimina una chiave e tutti i relativi elementi figlio dal Registro di sistema.

virtual BOOL DeleteKey(
    LPCTSTR pszPath,
    BOOL bAdmin = FALSE);

Parametri

pszPath
[in] Nome della chiave da eliminare.

bAdmin
[in] Opzione che specifica la posizione della chiave da eliminare.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questo metodo avrà esito negativo se l'oggetto CSettingsStore è in modalità di sola lettura.

Se il parametro bAdmin è zero, DeleteKey cerca la chiave da eliminare in HKEY_CURRENT_USER. Se bAdmin è diverso da zero, DeleteKey cerca la chiave da eliminare in HKEY_LOCAL_MACHINE.

CSettingsStore::D eleteValue

Elimina un valore da m_hKey.

virtual BOOL DeleteValue(LPCTSTR pszValue);

Parametri

pszValue
[in] Specifica il campo valore da rimuovere.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

CSettingsStore::Open

Apre una chiave del Registro di sistema.

virtual BOOL Open(LPCTSTR pszPath);

Parametri

pszPath
[in] Nome di una chiave del Registro di sistema.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Dopo che questo metodo apre correttamente la chiave specificata, imposta m_hKey l'handle di questa chiave.

CSettingsStore::Read

Legge un valore da una chiave nel Registro di sistema.

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);

Parametri

pszKey
[in] Puntatore a una stringa con terminazione Null contenente il nome del valore da leggere dal Registro di sistema.

iVal
[out] Riferimento a una variabile integer che riceve il valore letto dalla chiave del Registro di sistema.

dwVal
[out] Riferimento a una variabile di parola doppia a 32 bit che riceve il valore letto dalla chiave del Registro di sistema.

sVal
[out] Riferimento a una variabile stringa che riceve il valore letto dalla chiave del Registro di sistema.

scStringList
[out] Riferimento a una variabile di elenco di stringhe che riceve il valore letto dalla chiave del Registro di sistema.

scArray
[out] Riferimento a una variabile di matrice di stringhe che riceve il valore letto dalla chiave del Registro di sistema.

dwcArray
[out] Riferimento a una variabile di matrice di parole doppie a 32 bit che riceve il valore letto dalla chiave del Registro di sistema.

wcArray
[out] Riferimento a una variabile di matrice di parole a 16 bit che riceve il valore letto dalla chiave del Registro di sistema.

bcArray
[out] Riferimento a una variabile di matrice di byte che riceve il valore letto dalla chiave del Registro di sistema.

lpPoint
[out] Riferimento a un puntatore a una POINT struttura che riceve il valore letto dalla chiave del Registro di sistema.

rect
[out] Riferimento a una variabile CRect che riceve il valore letto dalla chiave del Registro di sistema.

ppData
[out] Puntatore a un puntatore ai dati che ricevono il valore letto dalla chiave del Registro di sistema.

pBytes
[out] Puntatore a una variabile integer senza segno. Questa variabile riceve le dimensioni del buffer a cui punta ppData .

list
[out] Riferimento a una variabile CObList che riceve il valore letto dalla chiave del Registro di sistema.

obj
[out] Riferimento a una variabile CObject che riceve il valore letto dalla chiave del Registro di sistema.

pObj
[out] Riferimento a un puntatore a una CObject variabile che riceve il valore letto dalla chiave del Registro di sistema.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Read verifica la presenza di pszKey come sottochiave di m_hKey.

CSettingsStore::Write

Scrive un valore nel Registro di sistema sotto la chiave aperta.

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);

Parametri

pszKey
[in] Puntatore a una stringa contenente il nome del valore da impostare.

iVal
[in] Riferimento a una variabile integer contenente i dati da archiviare.

dwVal
[in] Riferimento a una variabile di parola doppia a 32 bit che contiene i dati da archiviare.

pszVal
[in] Puntatore a una variabile stringa con terminazione Null che contiene i dati da archiviare.

scStringList
[in] Riferimento a una variabile CStringList che contiene i dati da archiviare.

bcArray
[in] Riferimento a una variabile di matrice di byte che contiene i dati da archiviare.

scArray
[in] Riferimento a una variabile di matrice di stringhe contenente i dati da archiviare.

dwcArray
[in] Riferimento a una variabile di matrice di parole doppie a 32 bit che contiene i dati da archiviare.

wcArray
[in] Riferimento a una variabile di matrice di parole a 16 bit che contiene i dati da archiviare.

rect
[in] Riferimento a una variabile CRect che contiene i dati da archiviare.

lpPoint
[in] Riferimento a un puntatore a una POINT variabile che contiene i dati da archiviare.

pData
[in] Puntatore a un buffer che contiene i dati da archiviare.

nBytes
[in] Specifica le dimensioni, in byte, dei dati a cui punta il parametro pData .

list
[in] Riferimento a una variabile CObList che contiene i dati da archiviare.

obj
[in] Riferimento a una variabile CObject che contiene i dati da archiviare.

pObj
[in] Puntatore a un puntatore a una CObject variabile contenente i dati da archiviare.

Valore restituito

TRUE se l'operazione riesce; in caso contrario, FALSE.

Osservazioni:

Per scrivere nel Registro di sistema, è necessario impostare bReadOnly su un valore diverso da zero quando si crea un oggetto CSettingsStore. Per altre informazioni, vedere CSettingsStore::CSettingsStore.

Vedi anche

Grafico della gerarchia
Classi
Classe CWinAppEx