CRegKey類的注冊表使用


 

注冊表操作,使用MFC提供的CRegKey類,封裝了相應的操作,但是需要在對話框源文件

中引用atlbase.h頭文件
主要方法
  注冊表是個樹結構,由根鍵,子鍵和項組成,其中項是子鍵下的數據,包括項的名稱

,數據類型和數據
1:Create:用於創建所標志的鍵,聲明如下
 LONG Create(
   HKEY hKeyParent, //表示打開的父鍵句柄;
   LPCTSTR lpszKeyName,表示鍵的名稱;
   LPTSTR lpszClass=REG_NONE,表示鍵的類型
   DWORD dwOptions=REG_OPTION_NON_VOLATILE,表示鍵的打開方式
   REGSAM samDesired=KEY_ALL_ACCESS,表示訪問權限
   LPSECURITY_ATTRIBUTES lpSecAttr=NULL,表示句柄安全屬性
   LPDWORD lpdwDispotion=NULL//表示返回函數執行的動作)
2:Open:用於打開注冊表的鍵值
LONG Open(HKEY hKeyParent,//父鍵句柄
         LPCTSTR lpszKeyName,打開的鍵名稱
         REGSAM samDesired=KEY_ALL_ACCESS//訪問權限)
3:SetValue:用於設置指定鍵的項信息,有三種方法
LONG SetValue(DWORD dwValue,LPCTSTR lpszValueName)
LONG SetValue(LPCTSTR lpszValue,LPCTSTR lpszValueName)
 其中 dwValue,//表示設置的整數值
  lpszValueName//表示設置的項的名稱
  lpszValue//表示設置的字符串數據
LONG SetValue(HKEY hKeyParent,LPCTSTR lpszKeyName,LPCTSTR

lpszValue,LPCTSTR lpszValueName=NULL)
  其中hKeyParent表示父鍵句柄
    lpszKeyName表示鍵的名稱;
     lpszValue表示設置的項的數據
     lpszValueName表示項名稱

4:QueryValue:獲取指定鍵的數據
LONG QueryValue(LPCTSTR lpszValueName,DWORD *pdwType,void *pData,ULONG 

                *pnBytes);
ATL_DEPRECATEDLONG QueryValue(DWORD &dwValue,LPCTSTR lpszValueName);
ATL_DEPRECATEDLONG QueryValue(LPSTR szValue,LPCTSTR lpszValueName,DWORD

*pdwCount);
   lpszValueName表示查詢的項的名稱
   pdwType整型指針,用於返回項的數據類型
    pData表示數據緩沖區,用於存儲函數返回的數據
    pnBytes表示數據緩沖區pData的大小
    dwValue用於存儲函數返回的整型數據
     szValue表示緩沖區,
    pdwCount 表示字符串數據的大小
5:Close關閉

void CRegDlg::OnRead()
{
// UpdateData(false);UpdateData(true);
 UpdateData(true);
  CRegKey reg;
  reg.Open(HKEY_CURRENT_USER,m_key);
  DWORD size=1000;
  CString value;
  reg.QueryValue(value.GetBuffer(0),m_value1,&size);
  MessageBox(value,"提示");

 
}

void CRegDlg::OnWrite()
{
 //UpdateData(false);UpdateData(true);
 UpdateData(true);
  CRegKey reg;
 reg.Create(HKEY_CURRENT_USER,m_key);
 reg.SetValue(m_value1,m_value2);
 reg.Close(); 
}

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM