打開注冊表
void CREGDemoDlg::OnBnClickedBtnOpen()
{
//打開注冊表
HKEY hKey;
if (ERROR_SUCCESS != RegOpenKeyEx(HKEY_CURRENT_USER, L"SOFTWARE\\Baidu.com", 0, KEY_ALL_ACCESS, &hKey))
{
MessageBox(L"打開注冊表失敗");
return;
}
}
對注冊表的鍵的操作
創(chuàng)建子鍵
//創(chuàng)建子鍵
HKEY hKey;
DWORD dwDisposition;
if (ERROR_SUCCESS != RegCreateKeyEx(HKEY_CURRENT_USER, L"Software\\Baidu.com\\12345", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, &dwDisposition))
{
MessageBox(L"創(chuàng)建失敗");
}
刪除子鍵
//刪除子鍵
RegDeleteKey(HKEY_CURRENT_USER, L"Software\\Baidu.com\\12345");
遍歷子鍵
//打開注冊表
HKEY hKey;
if (ERROR_SUCCESS != RegOpenKeyEx(HKEY_CURRENT_USER, L"Software\\2345.com", 0, KEY_ENUMERATE_SUB_KEYS, &hKey))
{
MessageBox(L"打開注冊表失敗");
return;
}
DWORD dwIndex = 0;
TCHAR szName[MAX_PATH];
LONG result;
while (1)
{
result = RegEnumKey(hKey, dwIndex, szName, MAX_PATH);
if (result == ERROR_NO_MORE_ITEMS || result == ERROR_INVALID_HANDLE)
break;
else
{
szName.Format(L"%s\r\n", szName);
int nLength = m_edit.GetWindowTextLength();
m_edit.SetSel(nLength, -1);
m_edit.ReplaceSel(szName);
}
dwIndex++;
}
RegCloseKey(hKey);
對注冊表值的操作
讀取值
CString str;
HKEY hKey;
if (ERROR_SUCCESS != RegOpenKeyEx(HKEY_CURRENT_USER, L"SOFTWARE\\Baidu.com\\BaiduYunGuanjia", 0, KEY_ALL_ACCESS, &hKey))
{
str.Format(L"打開注冊表失敗.錯誤代號:%d",GetLastError());
MessageBox(str);
return;
}
DWORD dwType = REG_SZ;
TCHAR szData[MAX_PATH] = {0};
DWORD dwSize = 0;
//操作兩遍
RegQueryValueEx(hKey, L"Version", NULL, &dwType,NULL, &dwSize);
str.Format(L"第一次查詢.錯誤代號:%d", GetLastError());
MessageBox(str);
RegQueryValueEx(hKey, L"Version", NULL, &dwType,(LPBYTE)szData, &dwSize);
UpdateMsg(szData);
RegCloseKey(hKey)
void CREGDemoDlg::UpdateMsg(CString str)
{
str.Format(L"%s\r\n", str);
int nLength = m_edit.GetWindowTextLength();
m_edit.SetSel(nLength, -1);
m_edit.ReplaceSel(str);
}
文章來源:http://www.zghlxwxcb.cn/news/detail-720091.html
設(shè)置值
CString str;
HKEY hKey;
if (ERROR_SUCCESS != RegOpenKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_ALL_ACCESS, &hKey))
{
str.Format(L"打開注冊表失敗.錯誤代號:%d",GetLastError());
MessageBox(str);
return;
}
TCHAR szValue[MAX_PATH] = {0};
GetModuleFileName(NULL, szValue, MAX_PATH);//設(shè)置開機自啟動
//RegSetValueEx(hKey, L"張三", 0, REG_SZ, (const BYTE*)szValue, MAX_PATH);//刪除
RegCloseKey(hKey);
文章來源地址http://www.zghlxwxcb.cn/news/detail-720091.html
到了這里,關(guān)于MFC 注冊表的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!