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