Compartilhar via


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

CObject

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 Devolução

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 Devolução

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 Devolução

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 Devolução

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.

list
[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 Devolução

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.

list
[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 Devolução

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.

Confira também

Gráfico da hierarquia
Classes
Classe CWinAppEx