Partilhar via


Classe CSettingsStore

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Envolve funções da API do Windows, fornecendo uma interface orientada a objetos que utiliza para aceder ao registo.

Sintaxe

class CSettingsStore : public CObject

Membros

Construtores Públicos

Nome Description
CSettingsStore::CSettingsStore Constrói um CSettingsStore objeto.

Métodos Públicos

Nome Description
CSettingsStore::Fechar Fecha a chave do registo aberto.
CSettingsStore::CreateKey Abre a chave especificada ou cria-a se esta não existir.
CSettingsStore::D eleteKey Elimina a chave especificada e todos os seus filhos.
CSettingsStore::D eleteValue Elimina o valor especificado da tecla aberta.
CSettingsStore::Aberto Abre a chave especificada.
CSettingsStore::Ler Recupera os dados para um valor-chave especificado.
CSettingsStore::Write Escreve um valor no registo sob a chave aberta.

Observações

As funções CreateKey dos membros são muito Open semelhantes. Se a chave de registo já existir e CreateKeyOpen funcionar da mesma forma. No entanto, se a chave de registo não existir, CreateKey irá criá-la enquanto Open devolverá um valor de erro.

Example

O exemplo seguinte demonstra como usar os métodos Abrir e Ler da CSettingsStore turma. Este excerto de código faz parte do exemplo Tool Tip Demo.

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

Requerimentos

Cabeçalho: afxsettingsstore.h

CSettingsStore::Fechar

Fecha a chave do registo aberto.

virtual void Close();

Observações

Por defeito, este método é chamado do destruidor da Classe CSettingsStore.

CSettingsStore::CreateKey

Abre uma chave de registo ou cria-a se esta não existir.

virtual BOOL CreateKey(LPCTSTR pszPath);

Parâmetros

pszPath
[dentro] Especifica o nome de uma chave a ser criada ou aberta.

Valor de retorno

0 se for bem-sucedido; caso contrário, um valor diferente de zero.

Observações

CreateKey utiliza-se m_hKey como a raiz das consultas no registo. Procura pszPath como subchave de m_hKey. Se a chave não existir, cria-a CreateKey . Caso contrário, abre a chave. CreateKey Depois define m_hKey para a chave criada ou aberta.

CSettingsStore::CSettingsStore

Cria um CSettngsStore objeto.

CSettingsStore(
    BOOL bAdmin,
    BOOL bReadOnly);

Parâmetros

bAdmin
[dentro] Parâmetro booleano que especifica se o CSettingsStore objeto está a agir em modo administrador.

bReadOnly
[dentro] Parâmetro booleano que especifica se o CSettingsStore objeto é criado em modo apenas de leitura.

Observações

Se o bAdmin estiver definido como TRUE, a m_hKey variável membro é definida como HKEY_LOCAL_MACHINE. Se definires o bAdmin para FALSE, m_hKey está definido para HKEY_CURRENT_USER.

O acesso de segurança depende do parâmetro bReadOnly . Se o bReadonly for FALSO, o acesso de segurança será definido para KEY_ALL_ACCESS. Se o bReadyOnly for VERDADEIRO, o acesso de segurança será definido para uma combinação de KEY_QUERY_VALUE, KEY_NOTIFY e KEY_ENUMERATE_SUB_KEYS. Para mais informações sobre o acesso de segurança juntamente com o registo, consulte Segurança da Chave do Registo e Direitos de Acesso.

O destruidor para CSettingsStore libertação m_hKey automática.

CSettingsStore::D eleteKey

Apaga uma chave e todos os seus filhos do registo.

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

Parâmetros

pszPath
[dentro] O nome da chave a apagar.

bAdmin
[dentro] Interruptor que especifica a localização da chave a eliminar.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Este método falhará se o CSettingsStore objeto estiver em modo apenas de leitura.

Se o parâmetro bAdmin for zero, DeleteKey procura a chave a eliminar em HKEY_CURRENT_USER. Se bAdmin for diferente de zero, DeleteKey procura a chave a eliminar em HKEY_LOCAL_MACHINE.

CSettingsStore::D eleteValue

Elimina um valor de m_hKey.

virtual BOOL DeleteValue(LPCTSTR pszValue);

Parâmetros

pszValue
[dentro] Especifica o campo de valor a remover.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

CSettingsStore::Aberto

Abre uma chave de registo.

virtual BOOL Open(LPCTSTR pszPath);

Parâmetros

pszPath
[dentro] O nome de uma chave de registo.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Após este método abrir com sucesso a chave especificada, define m_hKey para o cabo dessa chave.

CSettingsStore::Ler

Lê um valor de uma chave no registo.

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
[dentro] Apontador para uma cadeia terminada por nulo que contém o nome do valor a ler do registo.

iVal
[fora] Referência a uma variável inteira que recebe o valor lido da chave do registo.

dwVal
[fora] Referência a uma variável de palavra dupla de 32 bits que recebe o valor lido da chave do registo.

sVal
[fora] Referência a uma variável string que recebe o valor lido da chave do registo.

scStringList
[fora] Referência a uma variável string list que recebe o valor lido da chave do registo.

scArray
[fora] Referência a uma variável string array que recebe o valor lido da chave do registo.

dwcArray
[fora] Referência a uma variável de array de palavras duplas de 32 bits que recebe o valor lido da chave do registo.

wcArray
[fora] Referência a uma variável de array de palavras de 16 bits que recebe o valor lido da chave do registo.

bcArray
[fora] Referência a uma variável de byte array que recebe o valor lido da chave do registo.

lpPoint
[fora] Referência a um ponteiro para uma POINT estrutura que recebe o valor lido da chave do registo.

retângulo
[fora] Referência a uma variável CRect que recebe o valor lido da chave do registo.

ppData
[fora] Apontador para um apontador para dados que recebem o valor lido da chave do registo.

pBytes
[fora] Apontador para uma variável inteira sem sinal. Esta variável recebe o tamanho do buffer para o qual ppData aponta.

list
[fora] Referência a uma variável do CObList que recebe o valor lido da chave do registo.

obj
[fora] Referência a uma variável CObject que recebe o valor lido da chave do registo.

pObj
[fora] Referência a um ponteiro para uma CObject variável que recebe o valor lido da chave do registo.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Read verifica o pszKey como uma subchave de m_hKey.

CSettingsStore::Write

Escreve um valor no registo sob a 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
[dentro] Apontador para uma cadeia que contém o nome do valor a definir.

iVal
[dentro] Referência a uma variável inteira que contém os dados a armazenar.

dwVal
[dentro] Referência a uma variável de palavra dupla de 32 bits que contém os dados a armazenar.

pszVal
[dentro] Apontador para uma variável de string terminada por null que contém os dados a armazenar.

scStringList
[dentro] Referência a uma variável CStringList que contém os dados a armazenar.

bcArray
[dentro] Referência a uma variável do array de bytes que contém os dados a armazenar.

scArray
[dentro] Referência a uma variável string array que contém os dados a armazenar.

dwcArray
[dentro] Referência a uma variável de array de palavras dupla de 32 bits que contém os dados a armazenar.

wcArray
[dentro] Referência a uma variável de array de palavras de 16 bits que contém os dados a armazenar.

retângulo
[dentro] Referência a uma variável CRect que contém os dados a armazenar.

lpPoint
[dentro] Referência a um ponteiro para uma POINT variável que contém os dados a armazenar.

pData
[dentro] Aponta para um buffer que contém os dados a armazenar.

nBytes
[dentro] Especifica o tamanho, em bytes, dos dados para os quais o parâmetro pData aponta.

list
[dentro] Referência a uma variável CObList que contém os dados a armazenar.

obj
[dentro] Referência a uma variável CObject que contém os dados a armazenar.

pObj
[dentro] Apontador para uma variável CObject que contém os dados a armazenar.

Valor de retorno

VERDADEIRO se for bem-sucedido; caso contrário, FALSO.

Observações

Para escrever no registo, deve definir bReadOnly para um valor diferente de zero ao criar um objeto CSettingsStore . Para mais informações, consulte CSettingsStore::CSettingsStore.

Consulte também

Gráfico de Hierarquia
Classes
Classe CWinAppEx