簡(jiǎn)單分析VB.NET注冊(cè)表組織結(jié)構(gòu)
VB.NET注冊(cè)表還是比較常用的,于是我研究了一下VB.NET注冊(cè)表,在這里拿出來(lái)和大家分享一下,希望對(duì)大家有用。在Windows出問(wèn)題時(shí),如果能夠了解Windows系統(tǒng)的注冊(cè)表,將更容易解決問(wèn)題; 許多商品化的軟件或?qū)I(yè)化的軟件在您的機(jī)器上***安裝的時(shí)候都會(huì)通過(guò)改寫(xiě)注冊(cè)表來(lái)完成軟件的正確安裝運(yùn)行,要成為編程高手當(dāng)然需要掌握讀寫(xiě)注冊(cè)表這一技術(shù)。用好注冊(cè)表將會(huì)為您的應(yīng)用程序增色不少,下面筆者將具體介紹VB中與注冊(cè)表有關(guān)的編程方法。
VB.NET注冊(cè)表的組織結(jié)構(gòu)
存取注冊(cè)表以前, 必須先了解注冊(cè)表的組織結(jié)構(gòu), 而了解注冊(cè)表的組織結(jié)構(gòu)最簡(jiǎn)單的方法便是啟動(dòng) Windows 提供的“注冊(cè)表編輯器”, 啟動(dòng)的方法是單擊“開(kāi)始”菜單的“運(yùn)行”命令,輸入 RegEdit 之后確定,可看到“注冊(cè)表編輯器”窗口
#T#注冊(cè)表編輯器的結(jié)構(gòu)與資源管理器很類似,左邊窗口的每一個(gè)文件夾圖標(biāo)表示一個(gè)鍵,就像文件夾下還有子文件夾一樣,注冊(cè)表的鍵下也有子鍵。為了完整地表示某一個(gè)子鍵,習(xí)慣上是采用文件夾的路徑表示法。 當(dāng)我們?cè)谧?cè)表編輯器左邊窗口選取某一個(gè)鍵(或子鍵) 之后,出現(xiàn)在右邊窗口中的是這個(gè)鍵的鍵值(Value),鍵值可分成鍵名(Name)及數(shù)據(jù)(Data)兩部分。對(duì)每一個(gè)鍵而言,至少都含有一個(gè)默認(rèn)鍵值(Default Value) , 以 “HKEY_CLASSES_ROOT\.bmp”子鍵為例, 其默認(rèn)鍵值為 “ACDC_BMP”。 除了默認(rèn)鍵值之外, 這個(gè)子鍵還含有名稱 (Name)“Content Type”和數(shù)據(jù) (Data)“image/bmp”。
自身提供的關(guān)于VB.NET注冊(cè)表的函數(shù)
了解注冊(cè)表的組織結(jié)構(gòu)之后, 接下來(lái)討論如何存取它。就像我們存取文件時(shí)必須指明文件所在文件夾(目錄)一樣, 存取注冊(cè)表時(shí), 則必須先指明鍵。鍵在注冊(cè)表編輯器中所看到的是一長(zhǎng)串的字符串,例如
- “HKEY_LOCAL_MACHINE\SOFTWARE\
- Microsoft\Windows \CurrentVersion”。
在 Visual Basic 6.0 內(nèi)部,已經(jīng)提供了一個(gè)標(biāo)準(zhǔn)的注冊(cè)位置,以存儲(chǔ)創(chuàng)建于VB的應(yīng)用程序的程序信息:HKEY_CURRENT_USER\Software\VB and VBA Program settings\(為了敘述簡(jiǎn)單,以下將這一位置簡(jiǎn)稱“標(biāo)準(zhǔn)位置”)。VB 提供了兩個(gè)語(yǔ)句和兩個(gè)函數(shù)來(lái)處理存儲(chǔ)在應(yīng)用程序注冊(cè)位置的程序設(shè)置值:
◆函數(shù)GetSetting(appname, section, key[, default]): 檢索注冊(cè)表設(shè)置值。
◆語(yǔ)句SaveSetting appname,section,key,value: 保存或創(chuàng)建注冊(cè)表設(shè)置值。
◆函數(shù)GetAllSettings(appname, section): 返回一個(gè)包含多項(xiàng)注冊(cè)表設(shè)置值的數(shù)組。
◆語(yǔ)句DeleteSetting appname, section[, key]: 刪除注冊(cè)表設(shè)置值。
以上所用參數(shù)的說(shuō)明:
[ ]: 表示可選項(xiàng)。
appname:字符串表達(dá)式,包含應(yīng)用程序或工程的名稱,是標(biāo)準(zhǔn)位置下的一個(gè)子鍵。
section:字符串表達(dá)式,包含區(qū)域名稱,是 appname 下的一個(gè)子鍵。
key:字符串表達(dá)式,標(biāo)準(zhǔn)位置\appname\
section子鍵的鍵名(Value Name)。
value:字符串表達(dá)式,標(biāo)準(zhǔn)位置\appname\
section子鍵對(duì)應(yīng)于鍵名(Value Name)的鍵值(Value)。
default:表達(dá)式,如果注冊(cè)表項(xiàng)設(shè)置中沒(méi)有設(shè)置值,則返回默認(rèn)值。如果省略,則 default 取值為長(zhǎng)度為零的字符串 (“”)。
GetAllSettings返回Variant,是內(nèi)容為字符串的二維數(shù)組,該二維數(shù)組包含指定區(qū)域中的所有注冊(cè)表項(xiàng)設(shè)置值及其對(duì)應(yīng)值。