程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> c++讀取注冊表詳解

c++讀取注冊表詳解

編輯:更多關於編程

       1.讀注冊表

      // 讀取注冊表

      CString ReadRegisteTable(CString root,CString path, CString key)

      {

      HKEY hAppKey;

      LPCTSTR WINDS_SERVICE_REGISTRY_KEY=path;

      LPCTSTR DATA_FILE_SUB_KEY=key;

      char szDataFile[80];

      if(root=="HKEY_LOCAL_MACHINE")

      {

      if (ERROR_SUCCESS == RegOpenKeyEx (

      HKEY_LOCAL_MACHINE,

      WINDS_SERVICE_REGISTRY_KEY,

      0,

      KEY_READ,

      &hAppKey))

      {

      ULONG cbSize = MAX_PATH*sizeof(TCHAR);

      DWORD dwFlag = RegQueryValueEx (

      hAppKey,

      DATA_FILE_SUB_KEY,

      NULL,

      NULL,

      (LPBYTE)szDataFile,&cbSize);

      RegCloseKey (hAppKey);

      if (ERROR_SUCCESS == dwFlag)

      {

      CString strDate=szDataFile; //MessageBox(strDate);

      if(strDate.GetLength()>0) return strDate;

      else return "";

      }

      return "";

      }

      }

      if(root=="HKEY_CURRENT_USER")

      {

      if (ERROR_SUCCESS == RegOpenKeyEx (

      HKEY_CURRENT_USER,

      WINDS_SERVICE_REGISTRY_KEY,

      0,

      KEY_READ,

      &hAppKey))

      {

      ULONG cbSize = MAX_PATH*sizeof(TCHAR);

      DWORD dwFlag = RegQueryValueEx (

      hAppKey,

      DATA_FILE_SUB_KEY,

      NULL,

      NULL,

      (LPBYTE)szDataFile,&cbSize);

      RegCloseKey (hAppKey);

      if (ERROR_SUCCESS == dwFlag)

      {

      CString strDate=szDataFile; //MessageBox(strDate);

      if(strDate.GetLength()>0) return strDate;

      else return "";

      }

      return "";

      }

      }

      return "";

      }[nextqage]

      2.寫注冊表

      // 修改注冊表

      BOOL ModifyRegisteTable(CString root,CString path, CString key, CString value)

      {

      HKEY hAppKey;

      DWORD dwDisposition = MAX_PATH*sizeof(TCHAR);

      LPCTSTR WINDS_SERVICE_REGISTRY_KEY=path;

      LPCTSTR DATA_FILE_SUB_KEY=key;

      char szDataFile[80]; strcpy(szDataFile,value);

      if(root=="HKEY_LOCAL_MACHINE")

      {

      if (ERROR_SUCCESS != RegCreateKeyEx (

      HKEY_LOCAL_MACHINE,

      WINDS_SERVICE_REGISTRY_KEY,

      0,

      NULL,

      REG_OPTION_NON_VOLATILE,

      KEY_WRITE,

      NULL,

      &hAppKey,

      &dwDisposition))

      {

      return false;

      }

      else

      {

      if (ERROR_SUCCESS != RegSetValueEx (hAppKey,

      DATA_FILE_SUB_KEY,

      0,

      REG_SZ,

      (LPBYTE)szDataFile,

      (lstrlen (szDataFile)+1)*sizeof(TCHAR)))

      {

      return false;

      }

      RegCloseKey (hAppKey);

      }

      }

      if(root=="HKEY_CURRENT_USER")

      {

      if (ERROR_SUCCESS != RegCreateKeyEx (

      HKEY_CURRENT_USER,

      WINDS_SERVICE_REGISTRY_KEY,

      0,

      NULL,

      REG_OPTION_NON_VOLATILE,

      KEY_WRITE,

      NULL,

      &hAppKey,

      &dwDisposition))

      {

      return false;

      }

      else

      {

      if (ERROR_SUCCESS != RegSetValueEx (hAppKey,

      DATA_FILE_SUB_KEY,

      0,

      REG_SZ,

      (LPBYTE)szDataFile,

      (lstrlen (szDataFile)+1)*sizeof(TCHAR)))

      {

      return false;

      }

      RegCloseKey (hAppKey);

      }

      }

      return true;

      }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved