Classe CSettingsStore
Encapsula as funções de API do Windows, fornecendo uma interface orientada a objeto que você usa para acessar o registro.
Sintaxe
class CSettingsStore : public CObject
Membros
Construtores públicos
Nome | Descrição |
---|---|
CSettingsStore::CSettingsStore | Constrói um objeto CSettingsStore . |
Métodos públicos
Nome | Descrição |
---|---|
CSettingsStore::Close | Fecha a chave do Registro aberta. |
CSettingsStore::CreateKey | Abre a chave especificada ou a cria se ela não existir. |
CSettingsStore::DeleteKey | Exclui a chave especificada e todos os seus filhos. |
CSettingsStore::DeleteValue | Exclui o valor especificado da chave aberta. |
CSettingsStore::Open | Abre a chave especificada. |
CSettingsStore::Read | Recupera os dados de um valor de chave especificado. |
CSettingsStore::Write | Grava um valor no Registro na chave aberta. |
Comentários
As funções de membro CreateKey
e Open
são muito semelhantes. Se a chave do Registro já existir CreateKey
e Open
funcionarão da mesma maneira. No entanto, se a chave do Registro não existir, CreateKey
a criará, enquanto Open
retornará um valor de erro.
Exemplo
O exemplo a seguir demonstra como usar os métodos Abrir e Ler da classe CSettingsStore
. Esse snippet de código faz parte da amostra de Demonstração de dica de ferramenta.
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;
}
Hierarquia de herança
CSettingsStore
Requisitos
Cabeçalho: afxsettingsstore.h
CSettingsStore::Close
Fecha a chave do Registro aberta.
virtual void Close();
Comentários
Por padrão, esse método é chamado do destruidor da classe CSettingsStore.
CSettingsStore::CreateKey
Abre uma chave do Registro ou a cria se ela não existir.
virtual BOOL CreateKey(LPCTSTR pszPath);
Parâmetros
pszPath
[in] Especifica o nome de uma chave a ser criada ou aberta.
Valor de retorno
0 se tiver êxito; caso contrário, um valor diferente de zero.
Comentários
CreateKey
usa m_hKey
como a raiz de consultas do Registro. Ele procura pszPath como uma subchave de m_hKey
. Se a chave não existir, CreateKey
a criará. Caso contrário, ele abrirá a chave. CreateKey
, em seguida, define m_hKey
como a chave criada ou aberta.
CSettingsStore::CSettingsStore
Cria um objeto CSettngsStore
.
CSettingsStore(
BOOL bAdmin,
BOOL bReadOnly);
Parâmetros
bAdmin
[in] Parâmetro booliano que especifica se o objeto CSettingsStore
está agindo no modo de administrador.
bReadOnly
[in] Parâmetro booliano que especifica se o CSettingsStore
objeto é criado no modo somente leitura.
Comentários
Se bAdmin for definido como TRUE, a variável de membro m_hKey
será definida como HKEY_LOCAL_MACHINE. Se você definir bAdmin como FALSE, m_hKey
será definido como HKEY_CURRENT_USER.
O acesso à segurança depende do parâmetro bReadOnly. Se bReadonly for FALSE, o acesso de segurança será definido como KEY_ALL_ACCESS. Se bReadyOnly for TRUE, o acesso de segurança será definido como uma combinação de KEY_QUERY_VALUE, KEY_NOTIFY e KEY_ENUMERATE_SUB_KEYS. Para obter mais informações sobre o acesso à segurança junto com o registro, consulte Segurança da chave do Registro e direitos de acesso.
O destruidor para CSettingsStore
versões m_hKey
automaticamente.
CSettingsStore::DeleteKey
Exclui uma chave e todos os seus filhos do registro.
virtual BOOL DeleteKey(
LPCTSTR pszPath,
BOOL bAdmin = FALSE);
Parâmetros
pszPath
[in] O nome da chave para excluir.
bAdmin
[in] Switch que especifica o local da chave a ser excluída.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
Esse método falhará se o objeto CSettingsStore
estiver no modo somente leitura.
Se o parâmetro bAdmin for zero, DeleteKey
pesquisará a chave a ser excluída em HKEY_CURRENT_USER. Se bAdmin não for zero, DeleteKey
pesquisará a chave a ser excluída em HKEY_LOCAL_MACHINE.
CSettingsStore::DeleteValue
Exclui um valor de m_hKey
.
virtual BOOL DeleteValue(LPCTSTR pszValue);
Parâmetros
pszValue
[in] Especifica o campo de valor a ser removido.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
CSettingsStore::Open
Abre uma chave do Registro.
virtual BOOL Open(LPCTSTR pszPath);
Parâmetros
pszPath
[in] O nome de uma chave do Registro.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
Depois que esse método abrir com êxito a chave especificada, ele definirá m_hKey
como o identificador dessa chave.
CSettingsStore::Read
Lê um valor de uma chave no Registro.
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);
Parâmetros
pszKey
[in] Ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome do valor a ser lido do Registro.
iVal
[out] Referência a uma variável de inteiro que recebe o valor lido da chave do Registro.
dwVal
[out] Referência a uma variável de palavra dupla de 32 bits que recebe o valor lido da chave do Registro.
sVal
[out] Referência a uma variável de cadeia de caracteres que recebe o valor lido da chave do Registro.
scStringList
[out] Referência a uma variável de lista de cadeia de caracteres que recebe o valor lido da chave do Registro.
scArray
[out] Referência a uma variável de matriz de cadeia de caracteres que recebe o valor lido da chave do Registro.
dwcArray
[out] Referência a uma variável de matriz de palavra dupla de 32 bits que recebe o valor lido da chave do Registro.
wcArray
[out] Referência a uma variável de matriz de palavra de 16 bits que recebe o valor lido da chave do Registro.
bcArray
[out] Referência a uma variável de matriz de byte que recebe o valor lido da chave do Registro.
lpPoint
[out] Referência a um ponteiro para uma estrutura POINT
que recebe o valor lido da chave do Registro.
rect
[out] Referência a uma variável CRect que recebe o valor lido da chave do Registro.
ppData
[out] Ponteiro para um ponteiro para dados que recebe o valor lido da chave do Registro.
pBytes
[out] Ponteiro para uma variável de inteiro sem sinal. Essa variável recebe o tamanho do buffer para o qual ppData aponta.
lista
[out] Referência a uma variável CObList que recebe o valor lido da chave do Registro.
obj
[out] Referência a uma variável CObList que recebe o valor lido da chave do Registro.
pObj
[out] Referência a um ponteiro para uma variável CObject
que recebe o valor lido da chave do Registro.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
Read
verifica o pszKey como uma subchave de m_hKey
.
CSettingsStore::Write
Grava um valor no Registro na chave aberta.
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);
Parâmetros
pszKey
[in] Ponteiro para uma cadeia de caracteres que contém o nome do valor a ser definido.
iVal
[in] Referência a uma variável de inteiro que contém os dados a serem armazenados.
dwVal
[in] Referência a uma variável de palavra dupla de 32 bits que contém os dados a serem armazenados.
pszVal
[in] Ponteiro para uma variável de cadeia de caracteres terminada em nulo que contém os dados a serem armazenados.
scStringList
[in] Referência a uma variável CStringList que contém os dados a serem armazenados.
bcArray
[in] Referência a uma variável de matriz de bytes que contém os dados a serem armazenados.
scArray
[in] Referência a uma variável de matriz de cadeia de caracteres que contém os dados a serem armazenados.
dwcArray
[in] Referência a uma variável de matriz de palavra dupla de 32 bits que contém os dados a serem armazenados.
wcArray
[in] Referência a uma variável de matriz de palavra de 16 bits que contém os dados a serem armazenados.
rect
[in] Referência a uma variável CRect que contém os dados a serem armazenados.
lpPoint
[in] Referência a um ponteiro para uma variável POINT
que contém os dados a serem armazenados.
pData
[in] Ponteiro para um buffer que contém os dados a serem armazenados.
nBytes
[in] Especifica o tamanho, em bytes, dos dados aos quais o parâmetro pData aponta.
lista
[in] Referência a uma variável CObList que contém os dados a serem armazenados.
obj
[in] Referência a uma variável CObject que contém os dados a serem armazenados.
pObj
[in] Ponteiro para um ponteiro para uma variável CObject
que contém os dados a serem armazenados.
Valor de retorno
TRUE se tiver êxito; caso contrário, FALSE.
Comentários
Para gravar no registro, você deve definir bReadOnly como um valor não zero ao criar um objeto CSettingsStore. Para obter mais informações, consulte CSettingsStore::CSettingsStore.