利用VB.NET訪問注冊表
10年積累的網(wǎng)站制作、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計制作后付款的網(wǎng)站建設(shè)流程,更有峨邊彝族免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
譯者注:訪問注冊表的例子比較多,然而通過VB.NET訪問注冊表的例子并不多,本文翻譯了一篇MSDN上的利用VB.NET存取注冊表的例子,挺詳細(xì)也挺全面的。
(
)
Cat
Francis
Visual
Studio
Team
Microsoft
Corporation
April
2002
摘要:這篇文章描述了利用VB.NET內(nèi)置函數(shù)DeleteSetting,
GetAllSettings,
GetSetting
和
SaveSetting,以及通用語言運行時的兩個類Registry
和
RegistryKey來存取注冊表的實例,詳述了所需的權(quán)限,解釋了何時利用注冊表編輯器,并向你展示了如何利用程序從注冊表中動態(tài)的讀取數(shù)據(jù)及如何寫入數(shù)據(jù)。
引言
當(dāng)用VB.NET進(jìn)行編程時,你可能會選擇用VB.NET或.NET框架中的Registry類中的函數(shù)來訪問注冊表。雖然大多數(shù)情況下VB.NET的內(nèi)置函數(shù)足夠用了,然而某些情況下你仍然需要.NET框架類來解決問題。
注冊表不僅存儲了本地機上一些程序的信息,還保存了操作系統(tǒng)的信息。操作注冊表可能會有危險。因此編程時必須謹(jǐn)慎的查看代碼,確保程序?qū)λ\行的機器上的安全不會構(gòu)成威脅。
注冊表入口點包括兩部分:鍵名和鍵值。入口點是存儲在系統(tǒng)中的鍵和子鍵,類似于文件系統(tǒng)中的目錄和子目錄。
必備知識
要想讀懂本文需要有如下的必備知識:
1、熟悉上一個版本的Visual
Basic。
2、注冊表設(shè)計和利用的知識。
3、理解訪問注冊表的安全含義。
用VB.NET內(nèi)置函數(shù)訪問注冊表
VB.NET提供了四個訪問注冊表的函數(shù),為了使用它們,首先必須有讀寫權(quán)限。任何運行在全信任模式下的代碼都必須有訪問注冊表的必要的權(quán)限。可以查看RegistryPermission類從而
VB.NET 參考代碼:
Imports?Microsoft.Win32
Public?Class?Form1
Private?Sub?Button1_Click(sender?As?Object,?e?As?EventArgs)?Handles?Button1.Click
Dim?regKey?As?RegistryKey?=?Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Control\Windows",?False)
For?Each?strSubKeyName?In?regKey.GetValueNames()
If?regKey.GetValueKind(strSubKeyName)?=?RegistryValueKind.String?Then
MessageBox.Show(regKey.GetValue(strSubKeyName))
'?regKey.SetValue(strSubKeyName,?"修改后的值")
End?If
Next
End?Sub
End?Class
這個不屬于標(biāo)準(zhǔn)C++的范疇,調(diào)用windows api即可
Win 95及NT的注冊數(shù)據(jù)庫(Registry)是系統(tǒng)中非常重要的組成部分。在Win32 API中有一組Reg函數(shù)來處理這些問題。其一般的讀寫過程如下:
1、使用RegOpenKeyEx或RegCreateKeyEx函數(shù)打開或創(chuàng)建一個鍵;
2、如果上一步成功,使用RegQueryValueEx讀取子鍵的值,使用RegSetValueEx設(shè)置子鍵值,使用RegEnumKey獲得所有子鍵,使用RegDeleteKey刪除一個鍵;
3、完成操作后使用RegCloseKey關(guān)閉鍵。
下面這段程序打開HKEY_CURRENT_USER\Software\Zeal SoftStudio\AskPro FTP\LastTime鍵,然后讀取WOL子鍵的值。
Sub?Button1Click(sender?As?Object,?e?As?EventArgs)
'HKEY_CLASSES_ROOT\.doc
Dim?Root1?As?RegistryKey?=?Registry.ClassesRoot
'打開"SYSTEM"子健
Dim?key1?As?RegistryKey?=?Root1.OpenSubKey?(?".doc"?,true?)
'打開".doc"子健
textBox1.Text??=key1.GetValue(String.Empty)
End?Sub
VB.NET主要是利用RegistryKey類封裝的方法、屬性等來進(jìn)行與注冊表相關(guān)的各種操作。
請參閱RegistryKey類
Imports Microsoft.Win32
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As String = Registry.CurrentUser.GetSubKeyNames("")
End Sub
End Class
需要 Microsoft.Win32命名空間。
當(dāng)前標(biāo)題:netvb讀取注冊表,瀏覽器讀取攝像頭注冊表
網(wǎng)頁地址:http://muchs.cn/article16/phjpdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站設(shè)計公司、網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、外貿(mào)建站、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)