您好,登錄后才能下訂單哦!
這篇“怎么用VB.NET操作注冊表”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“怎么用VB.NET操作注冊表”文章吧。
Windows系統將計算機全部配置信息和各應用程序信息容納在“注冊表”數據庫中,用它來管理應用程序和關聯文件、硬件設備說明、狀態屬性以及各種狀態信息和數據等。注冊表由“我的電腦”分出幾個根鍵蜂箱分支(根鍵名前綴為HKEY_,H由蜂箱Hive而來),都有哪類根鍵是由安裝的操作系統來決定的。
1、注冊表常見的根鍵分支有:
HKEY_CLASSES_ROOT當前已在計算機上注冊的所有COM服務器和與應用程序相關聯的所有文件擴展名。
HKEY_CURRENT_CONFIG當前計算機的所有硬件配置信息。
HKEY_CURRENT_USER登錄到當前計算機上的用戶配置文件,其子項包含著環境變量、個人程序組、桌面設置、網絡連接、打印機和應用程序首選項。
HKEY_LOCAL_MACHINE包含了操作系統及硬件相關信息的配置,為公共配置信息,與具體用戶無關。
HKKEY_USERS當前計算機上所有的用戶的缺省配置信息。
HKEY_DYN_DATA 用于Windows95,98,Me,包含硬件的當前狀態,也包含了那些需要更新和檢索的數據。
另外有的系統還有 HKEY_PERFORMANCE_DATA,HKEY_PERFORMANCE_TEXT,HKEY_PERFORMANCE_NLSTEXT 根鍵。
2、VB.Net可以通過使用API函數(不推薦)、My.Computer.Registry 命名空間、VB注冊表原始程序方法來操作注冊表。
(1)VB注冊表原始程序方法只要有普通用戶的權限就能夠執行,但這些方法只能對如下默認路徑范圍的注冊表進行操作:HKEY_CURRENT_USER\\Software\\VBandVBAProgramSettingsRegistry。這些方法有:
SaveSetting(程序名,節名,鍵名,鍵值) 用此方法創建一個鍵,如果創建的鍵路徑中沒有VBandVBAProgramSettingsRegistry 子項,會自動創建這個子項,然后再添加相應鍵。
GetSetting(程序名,節名,鍵名[,默認鍵值]) 返回注冊表鍵的值(如果沒有鍵值則返回默認鍵值)
GetAllSettings(程序名,節名) 返回該節的所有注冊表鍵值對數組(數組一維代表節,二維代表鍵,如果是0代表鍵名,1代表鍵值)
DeleteSetting(程序名[,節名]) 刪除該程序或節的所有注冊表鍵。
舉例:
Dim rg(,) As String=GetAllSettings("我的程序","數據目錄") For i As Integer = 0 To rg.GetUpperBound(0) TextBox1.Text &= rg(i,0) & "=" & rg(i,1) Next
(2)My.Computer.Registry命名空間有七個RegistryKey實例對象,對應注冊表的七個相應根鍵:
.ClassesRoot---HKEY_CLASSES_ROOT
.CurrentConfig---HKEY_CURRENT_CONFIG
.CurrentUser---HKEY_CURRENT_USER
.LocalMachine---HKEY_LOCAL_MACHINE
.Users---HKKEY_USERS
.DynData---HKEY_DYN_DATA
.PerformanceData---HKEY_PERFORMANCE_DATA
對以上RegistryKey對象(除了HKEY_CURRENT_USER)的注冊表操作可能需要特定的用戶權限。使用RegistryKey類前必須先引入Microsoft.Win32命名空間。
(3)RegistryKey 的最常用屬性和方法:
Name 返回鍵的路徑
ToString 返回鍵名
Close 關閉鍵(如果修改過,保存后再關閉)
CreateSubKey 創建一個子項或打開一個現有子項以進行寫訪問
DeleteSubKey 刪除指定的子項。當該子項還含有子項時,不能被刪除
DeleteSubKeyTree 刪除一個子項以及它的所有下層子項
DeleteValue 刪除該鍵的值
Flush 把對該鍵的任何更改立即寫入注冊表
GetSubKeyNames 返回所有子項名稱的字符串數組
GetValue 返回指定名稱的值(可以設置一個不存在該名稱時的默認返回值)
GetValueKind 返回某個鍵內指定值的RegistryValueKind類型,可能是:Binary,DWord,ExpandString,MultiString,QWord,String,Unknown
GetValueNames 返回所有與此鍵關聯的值名稱的字符串數組
OpenSubKey 返回一個子項的RegistryKey對象(可以指定是否可寫入)
SetValue 創建或修改指定的鍵值對
SubKeyCount 返回當前項的直接子項數目
ValueCount 返回存儲在該鍵內的值數目
舉例:
Imports Microsoft.Win32 Public Class Form1 Private Sub Button1_Click(sender As Object,e As EventArgs) Handles Button1.Click Dim reg As RegistryKey=My.Computer.Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\un",True) If reg.GetValue("test") IsNot Nothing Then If MessageBox.Show("該鍵已經存在,需要刪除嗎?","提示",MessageBoxButtons.YesNo)=DialogResult.Yes Then reg.DeleteValue("test",True) MessageBox.Show("刪除成功!") End If Else reg.SetValue("test",567) MessageBox.Show("設置成功!") End If reg.Close() reg=Nothing End Sub End Class
以上就是關于“怎么用VB.NET操作注冊表”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。