系統注冊表中存有很多重要的信息,我們有必要掌握比較簡單地寫入和讀取注冊的表的方法。下面結合實例來說明(**完整實例可在我的CSDN資源中下載:[http://download.csdn.net/detail/margin1988/3677190](http://download.csdn.net/detail/margin1988/3677190)**):
1.寫注冊表:
~~~
HKEY hSubKey;
DWORD lpdw;
~~~
(1)創建“項”(鍵):
~~~
RegCreateKeyEx(HKEY_LOCAL_MACHINE,"Software\\Reg\\Admin",0,NULL,REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL,&hSubKey,&lpdw);
//REG_OPTION_NON_VOLATILE:保存,重啟還在;REG_OPTION_VOLATILE:不保存,重啟不在。
~~~
(2)設置“值”(鍵值):
~~~
RegSetValueEx(hSubKey,"Manager",0,REG_SZ,(LPBYTE)"Margin",strlen("Margin"));
~~~
(3)釋放注冊“項”(鍵)的句柄:
~~~
RegCloseKey(hSubKey);
~~~
2.讀取注冊表:
(1)打開注冊表中的該“項”(鍵):
~~~
HKEY hKEY;//鍵
long ret = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Reg\\Admin",0, KEY_READ,&hKEY);
if(ret!=ERROR_SUCCESS)
{
MessageBox("錯誤: 查詢無法打開有關的hKEY!");
return;
}
~~~
(2)讀取指定“值”的數據:
~~~
unsigned char tmp[256]="\0"; //讀出的數據
DWORD type=REG_SZ;
DWORD size=256;//必須大于你的鍵值字符長度
ret=::RegQueryValueEx(hKEY,"Manager",NULL,&type,tmp,&size);
if(ret!=ERROR_SUCCESS)
{
MessageBox("錯誤:無法查詢有關注冊表信息!");
return;
}
// 數據類型轉化:unsigned char *?CString〔這也是一個小知識點〕
CString tmpstring; //讀出的數據
tmpstring.Format("%s",tmp);
~~~
- 前言
- VC++中自定義熱鍵及響應
- CFileDialog文件對話框
- VC++中客戶區保存為BMP圖片
- VC++讀、寫注冊表
- VC++播放音頻文件和音頻數據的方法
- VC++調用Matlab編寫的DLL(混合編程)
- VC++中文件讀、寫和其他相關操作匯總
- VC++獲取系統當前時間
- VC++按鈕控件字體設置
- VC++軟件界面風格簡單美化
- VC++中一些常用的數據類型之間的相互轉化
- VC++中截取字符串的方法
- VC++中vector矢量的使用方法及隨機相關
- VC++中結構體的定義及使用
- VC++中List Control控件的使用方法介紹
- VC++中窗口過程函數及其消息發送、響應機制介紹
- VC++中Ribbon編程架構及SDI架構多視圖切換介紹
- 串口通信基礎知識及VC++實現
- VC++中單個鍵盤按鍵的響應
- VC++中的計時器及多媒體高精度計時器
- VC++編寫DLL導出函數及其調用方法
- VC++對話框(CDialog)的全屏顯示及控件居中顯示
- VC++對話框(CDialog)添加背景圖片
- VC++圖片控件(Picture Control)顯示資源位圖(BMP)、文件位圖(BMP)、其它格式文件圖片(JPG\PNG\BMP)的方法
- VC++對Access數據庫的操作(查詢、插入、更新、刪除等)