1. gzyueqian
      18529173453
      首頁 > 新聞中心 > > 正文

      C++Builder中注冊表的操作介紹

      更新時間: 2007-05-23 09:12:49來源: 粵嵌教育瀏覽量:1244


      在WIN9x和WINNT中,許多一點的功能都要通過對注冊表的操作來實現,在WinAPI中有RegCgreateKey()、RegOpenKey()、RegQueryValue()等等函數,但是,如果用這些函數來實現那將是非常的麻煩,幸虧我們有C++Builder,它提供了TRegistry類,有了TRe gistry類,對注冊表的操作就非常的簡單了,下面介紹一下TRegistry的屬性和方法:

      TRegistry類一共有四個屬性。

      屬性   類型 描述

      CurrentKey int 包含當前鍵值的值,但它的意思不太好懂,所以不太常用

      RootKey int 當前鍵值的根鍵,BCB定義有枚舉常量:HKEY_CURRENT_USER、
      HKEY_CLASSES_ROOT、HKEY_LOCAL_MACHINE、HKEY_USERS、
      HKEY_CURRENT_CONFIG、HKEY_DYN_DATA、HKEY_USERS。分別對應注冊表中相應的主鍵。生成一個TRegistry類的實例時RootKye缺省值為HKEY_CURRENT_USER

      CurrentPath AnsiString 當前鍵值的文本描述,\HKEY_CURRENT_USER\Software\Borland的CurrentPath="Software\Borland",而RootKey=HKEY_CURRENT_USER LazyWrite bool 值為true:只要關閉一個鍵,就立即返回應用程序。值為false:必須寫完注冊表后才返回。

      其缺省值為true。

      TRegistry類的方法比較多,擇其常用的簡要說明如下:

      方法 描述

      CloseKey() 關閉一個鍵值并向鍵值寫數據,只要對鍵值操作完畢后就應該關閉它,不過你可以不必調用此方法,因為TRegistry的析構函數會自動調用它。

      DeleteKey(AnsiString) 刪除鍵值,參數為要刪除的鍵值,如果參數為空字符串,則刪除當前鍵值OpenKey(Ansistring,bool) 打開一個鍵值,如果這個鍵值不存在,將由第二個參數決定是否自動建立。

      LoadKey(AnsiString,AnsiString) 從文件裝入鍵值,個參數為鍵值,第二個參數為文件名KeyExists(AnsiString) 檢測一個鍵值是否存在。

      SaveKey(AnsiString,AnsiString) 把一個鍵值保存到文件,參數說明參見LoadKey()

      ReadInteger(AnsiString) 讀出一個鍵值為整數,如果失敗將拋出異常。同此函數類似的還有ReadBool()、ReadString()、ReadFloat()、ReadDateTome()、ReadBinaryData()等,用來讀出不同類型的鍵值。

      ValueExists(AnsiString) 檢測一個值是否存在。

      WriteInteger(AnsiString,int) 寫一個鍵值為整數,如果失敗將拋出異常。同此函數類似的還有WriteBool()、WriteString()、WriteFloat()、WriteDateTome()、WriteBinaryData()等,用來寫入不同類型的鍵值。

      利用TRegistry是很容易的,一般來說,有以下四步操作:

      1) 建立TRegistry類。2)利用OpenKey()方法打開一個鍵值。3)用ReadType()和WriteType()讀寫鍵值。4)調用CloseKey()關閉一個鍵值。

      值得注意的是:在使用TRegistry類時,必須要加入此類的頭文件:#include,否則會發生什么,只要稍有C語言基礎都會明白。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 在线不卡长片AV | 中文字幕另类精品 | 中美日韩在线观看网 | 亚洲精品高清一线久久 | 日韩欧美在线网址 | 午夜在线亚洲免费 |