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à
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.