亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++讀取注冊表的實現方法

2020-05-23 13:46:04
字體:
來源:轉載
供稿:網友

C++讀取注冊表

GetRegValue.h:

#ifndef __GETREGVALUE_H__#define __GETREGVALUE_H__#include <string>//---------------------------------------------------------------//function: //     GetRegValue 獲取注冊表中指定鍵的值//Access://      public //Parameter://     [in] int nKeyType - 注冊表項的類型,傳入的參數只可能是以下數值://               0:HKEY_CLASSES_ROOT//               1:HKEY_CURRENT_USER//               2:HKEY_LOCAL_MACHINE//               3:HKEY_USERS//               4:HKEY_PERFORMANCE_DATA//               5:HKEY_CURRENT_CONFIG//               6:HKEY_DYN_DATA//               7:HKEY_CURRENT_USER_LOCAL_SETTINGS//               8:HKEY_PERFORMANCE_TEXT//               9:HKEY_PERFORMANCE_NLSTEXT//     [in] const std::string & strUrl - 要查找 的鍵的路徑//     [in] const std::string & strKey - 指定的鍵//Returns://     std::string - 指定鍵的值//Remarks://     ...//author:  luoweifu//---------------------------------------------------------------std::string GetRegValue(int nKeyType, const std::string& strUrl, const std::string& strKey);//可移植版本 wstring => stringstd::string ws2s(const std::wstring& ws);//可移植版本 string => wstringstd::wstring s2ws(const std::string& s);#endif //__GETREGVALUE_H__

GetRegValue.cpp

#include "stdafx.h"#include <Windows.h>#include "GetRegValue.h"//可移植版本 wstring => stringstd::string ws2s(const std::wstring& ws){  std::string curLocale = setlocale(LC_ALL, "");  const wchar_t* _Source = ws.c_str();  size_t _Dsize = wcstombs(NULL, _Source, 0) + 1;  char *_Dest = new char[_Dsize];  memset(_Dest,0,_Dsize);  wcstombs(_Dest,_Source,_Dsize);  std::string result = _Dest;  delete []_Dest;  setlocale(LC_ALL, curLocale.c_str());  return result;}//可移植版本 string => wstringstd::wstring s2ws(const std::string& s){  std::string curLocale = setlocale(LC_ALL, "");   const char* _Source = s.c_str();  size_t _Dsize = mbstowcs(NULL, _Source, 0) + 1;  wchar_t *_Dest = new wchar_t[_Dsize];  wmemset(_Dest, 0, _Dsize);  mbstowcs(_Dest,_Source,_Dsize);  std::wstring result = _Dest;  delete []_Dest;  setlocale(LC_ALL, curLocale.c_str());  return result;}std::string GetRegValue(int nKeyType, const std::string& strUrl, const std::string& strKey){  std::string strValue("");  HKEY hKey = NULL;  HKEY hKeyResult = NULL;  DWORD dwSize   = 0;  DWORD dwDataType = 0;  std::wstring wstrUrl = s2ws(strUrl);  std::wstring wstrKey = s2ws(strKey);  switch(nKeyType)  {  case 0:    {      hKey = HKEY_CLASSES_ROOT;      break;    }  case 1:    {      hKey = HKEY_CURRENT_USER;      break;    }  case 2:    {      hKey = HKEY_LOCAL_MACHINE;      break;    }  case 3:    {      hKey = HKEY_USERS;      break;    }  case 4:    {      hKey = HKEY_PERFORMANCE_DATA;      break;    }  case 5:    {      hKey = HKEY_CURRENT_CONFIG;      break;    }  case 6:    {      hKey = HKEY_DYN_DATA;      break;    }  case 7:    {      hKey = HKEY_CURRENT_USER_LOCAL_SETTINGS;      break;    }  case 8:    {      hKey = HKEY_PERFORMANCE_TEXT;      break;    }  case 9:    {      hKey = HKEY_PERFORMANCE_NLSTEXT;      break;    }  default:    {      return strValue;    }  }  //打開注冊表  if(ERROR_SUCCESS == ::RegOpenKeyEx(hKey, wstrUrl.c_str(), 0, KEY_QUERY_VALUE, &hKeyResult))  {    // 獲取緩存的長度dwSize及類型dwDataType    ::RegQueryValueEx(hKeyResult, wstrKey.c_str(), 0, &dwDataType, NULL, &dwSize);     switch (dwDataType)    {    case REG_MULTI_SZ:      {        //分配內存大小        BYTE* lpValue = new BYTE[dwSize];        //獲取注冊表中指定的鍵所對應的值        LONG lRet = ::RegQueryValueEx(hKeyResult, wstrKey.c_str(), 0, &dwDataType, lpValue, &dwSize);        delete[] lpValue;        break;      }    case REG_SZ:      {        //分配內存大小        wchar_t* lpValue = new wchar_t[dwSize];        memset(lpValue, 0, dwSize * sizeof(wchar_t));        //獲取注冊表中指定的鍵所對應的值        if (ERROR_SUCCESS == ::RegQueryValueEx(hKeyResult, wstrKey.c_str(), 0, &dwDataType, (LPBYTE)lpValue, &dwSize))        {          std::wstring wstrValue(lpValue);          strValue = ws2s(wstrValue);        }        delete[] lpValue;        break;      }    default:      break;    }  }  //關閉注冊表  ::RegCloseKey(hKeyResult);  return strValue;}

測試代碼:

#include "stdafx.h"#include <string>#include "GetRegValue.h"int _tmain(int argc, _TCHAR* argv[]){  std::string strValue = GetRegValue(2, "SOFTWARE//360Safe//Liveup", "mid");  return 0;}

結果:

strValue:

“ebd1360403764c9d48c585ef93a6eacbd89ded596f043f78e54eb0adeba7251d”

C++,讀取注冊表,讀取注冊表的實例,讀取注冊表的實現方法

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲网址你懂得| 亚洲天堂av图片| www.日韩欧美| 欧美风情在线观看| 欧美激情va永久在线播放| 精品日韩视频在线观看| 欧美激情一区二区三级高清视频| 色www亚洲国产张柏芝| 久久久在线免费观看| 国产91成人在在线播放| 日韩精品久久久久久久玫瑰园| 国产欧洲精品视频| 亚洲成人免费在线视频| 精品久久久久久久大神国产| 国产成人91久久精品| 国产精品视频xxxx| 日韩电影免费在线观看中文字幕| 成人久久18免费网站图片| 国产成人av在线播放| 91精品视频免费看| 日韩成人在线播放| 成人免费在线网址| 国产一区二区三区在线| 国产999精品久久久影片官网| 国产精品pans私拍| 九九热精品在线| 97超视频免费观看| 欧洲成人在线视频| 欲色天天网综合久久| 久热在线中文字幕色999舞| 欧美夜福利tv在线| 中文字幕欧美精品日韩中文字幕| 亚洲精品乱码久久久久久按摩观| 久久久精品久久久| 成人欧美一区二区三区黑人孕妇| 亚洲a级在线观看| 国外成人在线直播| 狠狠干狠狠久久| 欧美成人免费小视频| 亚洲人成在线播放| 欧美激情精品久久久久久久变态| 亚洲欧洲国产伦综合| 亚洲高清色综合| …久久精品99久久香蕉国产| 国产欧美精品在线| 欧美激情一区二区三区高清视频| 精品高清美女精品国产区| 麻豆乱码国产一区二区三区| 岛国视频午夜一区免费在线观看| 国产成人精品电影久久久| 精品国内产的精品视频在线观看| 国产欧美日韩免费| 亚洲精品美女在线| 精品国产乱码久久久久久虫虫漫画| 欧美性猛交xxx| 国产精品综合久久久| 国产一区红桃视频| 777精品视频| 亚洲美女视频网| 亚洲女人初尝黑人巨大| 欧美日韩精品在线| 日韩欧美精品中文字幕| 欧美黑人巨大xxx极品| 成人激情在线观看| 亚洲天堂免费观看| 国产精品视频中文字幕91| 午夜精品一区二区三区在线视| 色老头一区二区三区在线观看| 国产精品白丝av嫩草影院| 日韩欧美一区二区三区久久| 人人做人人澡人人爽欧美| 日韩视频在线一区| 国产视频在线一区二区| 国产69精品99久久久久久宅男| 日韩高清免费观看| 国产成人一区三区| 亚洲最大福利视频网站| 精品二区三区线观看| 久久综合国产精品台湾中文娱乐网| 2025国产精品视频| 国产精品尤物福利片在线观看| 亚洲美腿欧美激情另类| 国产精品mp4| 亚洲无限乱码一二三四麻| 国产精品久久久久久中文字| 伊人激情综合网| 在线看欧美日韩| 亚洲自拍小视频| 国产综合视频在线观看| 国产又爽又黄的激情精品视频| 91久久国产精品| 欧美精品在线观看| 456国产精品| 日韩欧美中文免费| 国产精彩精品视频| 成人做爰www免费看视频网站| 国产精品av免费在线观看| 亚洲午夜精品久久久久久久久久久久| 亚洲国产毛片完整版| 亚洲一区二区三区在线视频| 久久97精品久久久久久久不卡| 国产一区二区久久精品| 久久亚洲国产精品| 中文在线不卡视频| 亚洲国产成人久久综合一区| 国产精品一区久久| 久久久免费精品| 热99久久精品| 久久久久久久国产精品视频| 韩日欧美一区二区| 亚洲精品网址在线观看| 成人黄色av免费在线观看| 成人av在线网址| 日韩欧美在线免费| 国产精品精品视频| 久久久久久久国产精品视频| 欧美xxxx做受欧美.88| 亚洲国产精品电影在线观看| 久久精品国产久精国产思思| 精品日韩美女的视频高清| 亚洲天堂网在线观看| 欧美日韩一区二区免费在线观看| 日韩av最新在线观看| 久久久av亚洲男天堂| 国产精品678| 成人午夜高潮视频| 欧美性猛交xxxx富婆| 欧美xxxx做受欧美.88| 57pao国产精品一区| 国产精品福利在线观看网址| 国产精品午夜一区二区欲梦| 欧美大片免费观看| 精品成人在线视频| 欧美在线精品免播放器视频| 91av在线看| 国产激情999| 91久久嫩草影院一区二区| 久久这里有精品视频| 精品久久国产精品| 在线亚洲午夜片av大片| 97在线视频免费看| 日韩美女视频免费看| 在线精品视频视频中文字幕| 国产精品揄拍一区二区| 4438全国成人免费| 在线视频日本亚洲性| 亚洲一区美女视频在线观看免费| 亚洲国语精品自产拍在线观看| 一区二区三区视频在线| 在线免费看av不卡| 亚洲欧美日韩精品久久亚洲区| 狠狠色狠色综合曰曰| 国产精品露脸自拍| 亚洲精品一区久久久久久| 欧美不卡视频一区发布| 97免费视频在线播放| 中文字幕一区日韩电影| 伊是香蕉大人久久| 中文字幕亚洲自拍| 日本一区二区三区在线播放| 2019日本中文字幕| 91久久久亚洲精品| 亚洲精品久久久久国产| 亚洲xxxx在线|