32位Delphi程序中可利用TRegistry對(duì)象來(lái)存取注冊(cè)表文件中信息解析_第1頁(yè)
32位Delphi程序中可利用TRegistry對(duì)象來(lái)存取注冊(cè)表文件中信息解析_第2頁(yè)
32位Delphi程序中可利用TRegistry對(duì)象來(lái)存取注冊(cè)表文件中信息解析_第3頁(yè)
32位Delphi程序中可利用TRegistry對(duì)象來(lái)存取注冊(cè)表文件中信息解析_第4頁(yè)
32位Delphi程序中可利用TRegistry對(duì)象來(lái)存取注冊(cè)表文件中信息解析_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

32位Delphi程序中可利用TRegistry對(duì)象來(lái)存取注冊(cè)表文件中的信息。一、創(chuàng)立和開(kāi)釋TRegistry對(duì)象創(chuàng)立TRegistry對(duì)象。為了操作注冊(cè)表,要?jiǎng)?chuàng)立一個(gè)TRegistry對(duì)象:ARegistry:=TRegistry.Create;2.開(kāi)釋TRegistry對(duì)象。對(duì)注冊(cè)表操作結(jié)束后,應(yīng)開(kāi)釋TRegistry對(duì)象所占內(nèi)存:ARegistry.Destroy。二、指定要操作的鍵操作注冊(cè)表時(shí),第一應(yīng)指定操作的主鍵:先給屬性RootKey賦值以指定根鍵,而后用方法OpenKey來(lái)指定要操作的主鍵名。1.指定根鍵(RootKey)。根鍵是注冊(cè)表的進(jìn)口,也注冊(cè)表信息的分類,其值可為:HKEY—CLASSES—ROOT:儲(chǔ)存整個(gè)系統(tǒng)對(duì)象類信息,如ActiveX對(duì)象注冊(cè)、文件關(guān)系等信息。HKEY—CURRENT—USER:儲(chǔ)存目前用戶的配置信息。為屬性RootKey的默認(rèn)值。HKEY—LOCAL—MACHINE:儲(chǔ)存目前系統(tǒng)的軟硬件配置信息。應(yīng)用程序自己的信息能夠儲(chǔ)存在該根鍵下。HKEY—USERS:儲(chǔ)存所實(shí)用戶通用的配置信息。還能夠是HKEY—CURRENT—CONFIG、HKEY—DYN—DATA。2.指定要操作的主鍵。FunctionOpenKey(constKey:string;CanCreate:Boolean):Boolean;Key:主鍵名,是鍵名全名中除掉根鍵的部分,如Software\Borland\Delphi。CanCreate:在指定的主鍵名不存在時(shí),能否同意創(chuàng)立該主鍵,True表示同意。返回值True表示操作成功。3.封閉目前主鍵。在讀取或儲(chǔ)存信息以后,應(yīng)實(shí)時(shí)將封閉目前主鍵:procedureCloseKey。三、從注冊(cè)表中讀守信息Read系列方法從注冊(cè)表讀取指定的信息(字符串、二進(jìn)制和十六進(jìn)制),并變換為指定的種類。1.Read系列方法。functionReadString(constName:string):string;讀取一個(gè)字符串值,Name為字符串名稱。functionReadInteger(constName:string):Integer;讀取一個(gè)整數(shù)值,Name為整數(shù)名稱。functionReadBinaryData(constName:string;varBuffer;BufSize:Integer):Integer;讀取二進(jìn)制值,Name為二進(jìn)制值名稱,Buffer為接收緩沖區(qū),BufSize為緩沖區(qū)大小,返回為實(shí)質(zhì)讀取的字節(jié)數(shù)。其余方法還有:ReadBool、ReadCurrency、ReadDate、ReadDateTime、ReadFloat、ReadTime。2.讀守信息一例(顯示W(wǎng)indows的版本)。在HKEY—LOCAL—MACHINE\Software\Microsoft\Windows\CurrentVersion下,有三個(gè)字符串值Version、VersionNumber和SubVersionNumber,用于記錄目前Windows的版本號(hào)。{請(qǐng)?jiān)赨ses中包括Registry單元}procedureTForm1.Button1Click(Sender:TObject);varARegistry:TRegistry;beginARegistry:=TRegistry.Create;//成立一個(gè)TRegistry實(shí)例withARegistrydobeginRootKey:=HKEY—LOCAL—MACHINE;//指定根鍵為HKEY—LOCAL—MACHINE//翻開(kāi)主鍵Software\Microsoft\Windows\CurrentVersionifOpenKey(′SoftwareCurrentVersion′,false)thenbeginmemo1.lines.add('Windows版本:′+ReadString(′Version′));memo1.lines.add('Windows版本號(hào):′+ReadString(′VersionNumber′));memo1.lines.add(′Windows子版本號(hào):′+ReadString(′SubVersionNumber′));end;CloseKey;//封閉主鍵Destroy;//開(kāi)釋內(nèi)存end;end;四、向注冊(cè)表中寫(xiě)入信息Write系列方法將信息轉(zhuǎn)變?yōu)橹付ǖ姆N類,并寫(xiě)入注冊(cè)表。1.Write系列方法。procedureWriteString(constName,Value:string);寫(xiě)入一個(gè)字符串值,Name為字符串的名稱,Value為字符串值。procedureWriteInteger(constName:string;Value:Integer);寫(xiě)入一個(gè)整數(shù)值。procedureWriteBinaryData(constName:string;varBuffer;BufSize:Integer);寫(xiě)入二進(jìn)制值,Name為二進(jìn)制值的名稱,Buffer為包括二進(jìn)制值的緩沖區(qū),BufSize為緩沖區(qū)大小。其余方法還有:WriteBool、WriteCurrency、WriteDate、WriteDateTime、WriteFloat、WriteTime。2.寫(xiě)入信息一例。下邊程序使Delphi隨Windows啟動(dòng)而自動(dòng)運(yùn)轉(zhuǎn)。varARegistry:TRegistry;beginARegistry:=TRegistry.Create;//成立一個(gè)TRegistry實(shí)例withARegistrydobeginRootKey:=HKEY—LOCAL—MACHINE;ifOpenKey(′SoftwareRun′,True)thenWriteString(′delphi\Program′,′C:delphi32.exe′);CloseKey;Destroy;end;end;五、鍵值保護(hù)除了在注冊(cè)表中讀取、儲(chǔ)存外,程序可能還需要增添主鍵、刪除主鍵、主鍵更名、數(shù)據(jù)值更名等。1.創(chuàng)立新主鍵:functionCreateKey(constKey:string):Boolean。Key即為主鍵名,返回值True表示操作成功。2.刪除主鍵:functionDeleteKey(constKey:string):Boolean。Key即為主鍵名,返回值True表示操作成功。3.復(fù)制或挪動(dòng)主鍵:procedureMoveKey(constOldName,NewName:string;Delete:Boolean)。OldName、NewName分別表示源主鍵名和目標(biāo)主鍵名;Delete表示能否刪除源主鍵,True表示刪除,F(xiàn)alse表示保存。復(fù)制或挪動(dòng)一個(gè)主鍵將復(fù)制或挪動(dòng)該子鍵下的全部數(shù)據(jù)值和子鍵內(nèi)容。4.判斷指定主鍵能否存在,其下能否有主鍵,并獲得主鍵名稱。KeyExists用于判斷指定主鍵能否存在:functionKeyExists(constKey:string):Boolean;//返回值為T(mén)rue表示主鍵存在。HasSubKeys用于判斷指定主鍵下能否有子鍵:functionHasSubKeys:Boolean;返回值為T(mén)rue表示主鍵下有子鍵。GetKeyNames用于獲得子鍵名稱:procedureGetKeyNames(Strings:TStrings);Strings用于返回目前主鍵下各子鍵的名稱。5.獲得主鍵下的數(shù)據(jù)值名稱:procedureGetValueNames(Strings:TStrings)。Strings用于返回目前主鍵下各數(shù)值名稱。如要獲得目前系統(tǒng)中的撥號(hào)連結(jié)名稱,可利用獲得主鍵HKEY—USERS\.DEFAULT\RemoteAccess\Addresses下的數(shù)值名稱的方法來(lái)進(jìn)行。6.判斷數(shù)值名稱存在、數(shù)值名稱更名。ValueExists用于判斷數(shù)值名稱能否存在:functionValueE

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論