標籤:註冊表 查詢 設定 建立
範例程式碼將在註冊表位置:HKEY_CURRENT_USER\Software\ 讀寫鍵值
bool LicenseManage::OpenRegKey(HKEY& hRetKey){ if (ERROR_SUCCESS == RegOpenKey(HKEY_CURRENT_USER,"Software", &hRetKey)) { return true; } return false;}bool LicenseManage::CreateRegKey(string strSubKey, string strValueName, string strValue){ HKEY hKey; HKEY hSubKey; if (OpenRegKey(hKey)) { // 建立鍵 RegCreateKey(hKey,strSubKey.c_str(), &hSubKey); // 設定索引值 if( ERROR_SUCCESS != RegSetValueEx(hSubKey,strValueName.c_str(),0,REG_SZ,(CONST BYTE *)strValue.c_str(),strValue.size()+1)) { return false; } RegCloseKey(hKey) ; //關閉註冊表 return true; } return false;}bool LicenseManage::QueryRegKey(string strSubKey, string strValueName, string& strValue){ DWORD dwType= 1;//定義資料類型 DWORD dwLen = MAX_PATH; char data[MAX_PATH]; memset(data,0,sizeof(data)); HKEY hKey; HKEY hSubKey; if (OpenRegKey(hKey)) { string strTempKey = "Software\\"+strSubKey; if (ERROR_SUCCESS == RegOpenKey(HKEY_CURRENT_USER,strTempKey.c_str(), &hSubKey)) { if (ERROR_SUCCESS == RegQueryValueEx(hSubKey,strValueName.c_str(),0,&dwType,(LPBYTE)data,&dwLen)) { strValue = data; RegCloseKey(hKey) ; //關閉註冊表 return true; } } RegCloseKey(hKey) ; //關閉註冊表 } return false;}bool LicenseManage::SetRegKey(string strSubKey, string strValueName, string strValue){ HKEY hKey; HKEY hSubKey; if (OpenRegKey(hKey)) { string strTempKey = "Software\\"+strSubKey; if (ERROR_SUCCESS == RegOpenKey(HKEY_CURRENT_USER,strTempKey.c_str(), &hSubKey)) { if (ERROR_SUCCESS == RegSetValueEx(hSubKey,strValueName.c_str(),0,REG_SZ,(LPBYTE)strValue.c_str(),strValue.size())) { RegCloseKey(hKey) ; //關閉註冊表 return true; } } RegCloseKey(hKey) ; //關閉註冊表 } return false;}
Windows控制台下繪製簡單圖形