在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

運用VB.NET訪問注冊表

運用VB.NET訪問注冊表

更新時間:2022-04-26 文章作者:未知 信息來源:網絡 閱讀次數:


利用VB.NET訪問注冊表



譯者注:訪問注冊表的例子比較多,然而通過VB.NET訪問注冊表的例子并不多,本文翻譯了一篇MSDN上的利用VB.NET存取注冊表的例子,挺詳細也挺全面的。 ( http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchimpdragdrop.asp)

Cat Francis
Visual Studio Team
Microsoft Corporation

April 2002

摘要:這篇文章描述了利用VB.NET內置函數DeleteSetting, GetAllSettings, GetSetting 和 SaveSetting,以及通用語言運行時的兩個類Registry 和 RegistryKey來存取注冊表的實例,詳述了所需的權限,解釋了何時利用注冊表編輯器,并向你展示了如何利用程序從注冊表中動態的讀取數據及如何寫入數據。

引言

當用VB.NET進行編程時,你可能會選擇用VB.NET或.NET框架中的Registry類中的函數來訪問注冊表。雖然大多數情況下VB.NET的內置函數足夠用了,然而某些情況下你仍然需要.NET框架類來解決問題。

注冊表不僅存儲了本地機上一些程序的信息,還保存了操作系統的信息。操作注冊表可能會有危險。因此編程時必須謹慎的查看代碼,確保程序對所運行的機器上的安全不會構成威脅。

注冊表入口點包括兩部分:鍵名和鍵值。入口點是存儲在系統中的鍵和子鍵,類似于文件系統中的目錄和子目錄。

必備知識

要想讀懂本文需要有如下的必備知識:

1、熟悉上一個版本的Visual Basic。

2、注冊表設計和利用的知識。

3、理解訪問注冊表的安全含義。

用VB.NET內置函數訪問注冊表

VB.NET提供了四個訪問注冊表的函數,為了使用它們,首先必須有讀寫權限。任何運行在全信任模式下的代碼都必須有訪問注冊表的必要的權限。可以查看RegistryPermission類從而獲得更多的信息。

VB.NET函數
描述

DeleteSetting
刪除注冊表中應用程序中的某項或鍵值

GetSetting
返回注冊表中應用程序入口點的鍵值

GetAllSettings
返回注冊表中程序入口點的一列鍵值

SaveSetting
在注冊表中創建或保存程序的設置


注意:不能通過GetSetting函數返回某項的名字

如果無法保存某項的設置,將觸發一個ArgumentException對象。參見ArgumentException可以獲得更多的相關信息。

下面的例子在注冊表中創建了一個主鍵和兩個子鍵。首先打印主鍵的值,然后輸出主鍵及其兩個子鍵的值,然后刪除第二個子鍵,在輸出主鍵和第一個子鍵的值來確定是否刪掉了第二個子鍵。

' Create the first key.
SaveSetting("TestApp","Startup","FirstKey","First")
' Create the first subkey.
SaveSetting("TestApp","FirstKey","FirstSubKey","FirstSub")
' Create the second subkey.
SaveSetting("TestApp","FirstKey","SecondSubKey","SecondSub")
Try
' Write the first key's value.
Console.WriteLine ((GetSetting("TestApp","Startup","FirstKey"))
' Write the first key as well as its two subkeys.
Console.WriteLine (GetAllSettings("TestApp","Startup"))
Catch e As ArgumentException
Catch e As Exception
Console.WriteLine (e.GetType.ToString)
Finally
End Try
DeleteSetting("TestApp","FirstKey","SecondSubKey")
Try
Console.WriteLine (GetSetting("TestApp","Startup","FirstKey"))
Console.WriteLine (GetAllSettings("TestApp","Startup"))
Catch e As ArgumentException
Catch e As Exception
Console.WriteLine (e.GetType.ToString)
Finally
End Try

用VB.NET內置的注冊表訪問函數是有限制的你只能訪問到HKEY_CURRENT_USER\Software\VB and VBA Program Settings下的注冊表項,而且要想訪問到該項下的條目必須登錄到系統,因為HKEY_CURRENT_USER主鍵在未登錄情況下是不能訪問的。

用.NET框架訪問注冊表

上面提到,用VB.NET內置的注冊表訪問函數只能訪問到HKEY_CURRENT_USER\Software\VB and VBA Program Settings下的注冊表項,因而應用是很有限的。這時,你可以用.NET框架的Microsoft.Win32命名空間中的Registry和RegistryKey類來訪問注冊表。可參見Registry和RegistryKey。



安全須知:向當前用戶的注冊表(Microsoft.Win32.Registry.CurrentUser)寫入數據比向本地機的注冊表(Microsoft.Win32.Registry.LocalMachine)寫數據更安全。還有兩一種情況,就是當你正在創建的鍵值已經被先前的另一個可能惡意的進程創建時,這就是典型的蹲坐。為了這種情況發生,用RegistryKey.GetValue方法來獲得鍵值,當某個鍵不存在時該方法將返回Nothing。

Registry類提供了一些可以訪問注冊表主鍵及其子鍵的一些方法,基鍵本身是只讀的。下表列出了Registry類提供的訪問注冊表的方法

Key
Description

ClassesRoot
定義了關聯到文檔和屬性的類型

CurrentConfig
包含不屬于特定用戶的硬件配置信息

CurrentUser
包含了當前用戶參數的信息,例如環境變量

DynData
包含了動態注冊表數據,如某些虛擬設備驅動器所用到的數據

LocalMachine
存儲了本地機的配置數據,包括五個子鍵Hardware, SAM, Security, Software, and System

PerformanceData
包含了軟件組件的性能信息

Users
包含了默認用戶參數的信息




下面的例子顯示了如何從HKEY_CURRENT_USER讀取一個DWORD鍵值:

Imports Microsoft.Win32
Dim regVersion As RegistryKey
Dim keyValue As String
keyValue = Software\\Microsoft\\TestApp\\1.0
regVersion = Registry.CurrentUser.OpenSubKey(keyValue, False)
Dim intVersion As Integer = 0
If (Not regVersion Is Nothing) Then
intVersion = regVersion.GetValue("Version", 0)
regVersion.Close()
End If
接下來的例子是從HKEY_CURRENT_USER中讀取,增加,并寫入一個DWORD值:

Imports Microsoft.Win32
Dim regVersion As RegistryKey
regVersion =
Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\TestApp\\1.0", True)
If regVersion Is Nothing Then
' Key doesn't exist; create it.
regVersion =
Registry.CurrentUser.CreateSubKey("SOFTWARE\\Microsoft\\TestApp\\1.0")
End If

Dim intVersion As Integer = 0
If (Not regVersion Is Nothing) Then
intVersion = regVersion.GetValue("Version", 0)
intVersion = intVersion + 1
regVersion.SetValue("Version", intVersion)
regVersion.Close()
End If



權限

System.Security.Permission命名空間中的RegistryPermission類操縱著訪問注冊表變量的能力。Registry變量存儲在那些只有RegistryPermission的代碼才能訪問到的內存區域。類似的,當授予權限時只給它們能完成任務的最小的權限。參見RegistryPermission 和 System.Security.Permissions。

注冊表訪問權限值是由RegistryPermissionAccess枚舉定義的,參見RegistryPermissionAccess獲得更多信息,下表只列出其成員。

Value
Description
AllAccess
創建、讀取和寫入注冊表變量的權限。

Create
創建注冊表變量的權限。

NoAccess
不能訪問注冊表。

Read
讀取注冊表變量的權限。

Write
寫入注冊表變量的權限。




注意:如果你需要一些權限組合的話,例如你需要讀寫而不需要新建權限,你可以使用下面的位運算符,如下例:

RegistryPermissionAccess.Write Or RegistryPermissionAccess.Read _

"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TestApp"



使用注冊表編輯器訪問注冊表



當你在配置你的工程時,你可能要用到注冊表編輯器來對目標計算機的注冊表添加鍵值。可參考Registry Editor獲得更多信息。

訪問注冊表編輯器:

1、打開一個配置工程。

2、找到View菜單,指向Editor,然后點擊Registry。

在配置工程中使用注冊表可參考Registry Settings Management in Deployment。

結論:

注冊表是一個存儲應用程序信息和用戶個人設置的理想位置,可以通過注冊表來檢查與你的程序正在交互的系統硬件或程序的信息。

大多數情況下,通過VB.NET運行時函數訪問注冊表就足夠了,然而有時候你可能會用到.NET框架的Registry和RegistryKey類。這兩種訪問注冊表的方法都很簡單,但是這種方法有安全問題,必須小心謹慎,例如你不能在某個鍵中包含明文密碼或其它的

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 日本中文字幕影院| a级片一区二区| av免费播放网址| 91黄色在线看| 国产精品视频网站在线观看| 一区二区三区四区久久| 天天看片天天操| 亚洲精品免费一区亚洲精品免费精品一区| 自拍日韩亚洲一区在线| 青青青免费在线| 欧洲精品一区二区三区久久| 欧美一级片免费播放| 青草青青在线视频 | 无码精品a∨在线观看中文| 欧美亚洲精品一区二区| 波多野结衣之无限发射| 国产精品沙发午睡系列| 麻豆av免费在线| 免费一级特黄录像| 色综合五月婷婷| 中文字幕第一页亚洲| 污污污污污污www网站免费| 国产传媒久久久| 内射国产内射夫妻免费频道| 久久久久久香蕉| www.色就是色.com| 99热亚洲精品| 一道本在线免费视频| 中国一级黄色录像| 欧美成人一区二区在线观看| 人人爽人人av| japanese在线播放| 免费在线激情视频| 中文字幕剧情在线观看| 奇米精品一区二区三区| 国产精品v日韩精品v在线观看| 国产一区二区三区播放| 免费在线观看毛片网站| 91大学生片黄在线观看| www黄色av| 日韩亚洲欧美一区二区| 人人爽人人av| 国产无限制自拍| 日本福利视频导航| 不要播放器的av网站| 日韩成人三级视频| 天天操,天天操| 成人免费aaa| 2021国产视频| 91丨九色丨蝌蚪| 欧美自拍小视频| 丁香花在线影院观看在线播放| 国产福利精品一区二区三区| 日本女优爱爱视频| 免费看毛片的网址| 老司机午夜网站| 国产aⅴ爽av久久久久| 免费大片在线观看| av网站在线观看不卡| 成品人视频ww入口| 蜜桃视频一区二区在线观看| 特级黄色片视频| 久久人人爽av| 国产欧美激情视频| av亚洲天堂网| 91精品999| 欧美在线a视频| 欧美国产在线一区| 18视频在线观看娇喘| 91社在线播放| 韩国无码av片在线观看网站| 中文字幕色呦呦| av片在线免费| 91九色在线观看视频| 奇米精品一区二区三区| 成人免费观看视频在线观看| 丰满人妻中伦妇伦精品app| 欧美v在线观看| 亚洲这里只有精品| 国产农村妇女精品久久| 久久免费一级片| 毛片在线视频播放| 狠狠热免费视频| 91aaa精品| 丰满的少妇愉情hd高清果冻传媒| 福利视频一二区| 午夜激情福利在线| 日本一级淫片演员| 国产综合中文字幕| 色婷婷成人在线| 无码毛片aaa在线| 青青草视频在线免费播放| 国产免费999| 成年丰满熟妇午夜免费视频| 免费看一级大黄情大片| 男女男精品视频站| 污污污污污污www网站免费| 欧美a v在线播放| 久久6免费视频| 免费看黄在线看| 色悠悠久久综合网| 国产玉足脚交久久欧美| 污视频网站观看| 日韩欧美国产综合在线| 久久久精品高清| 黄色动漫网站入口| 国产精品亚洲天堂| 国产 porn| 男人和女人啪啪网站| 波多野结衣免费观看| 日本精品一区在线观看| 欧美人与动牲交xxxxbbbb| 妓院一钑片免看黄大片| 国产精品久久国产| 色婷婷一区二区三区在线观看| 日本免费黄视频| 黄色一级大片免费| 五月天av影院| 亚洲天堂网2018| 久热免费在线观看| 黄色一级片播放| 日本中文字幕亚洲| 一二三四中文字幕| 日韩不卡的av| 中文字幕资源在线观看| 手机看片福利日韩| 国产麻花豆剧传媒精品mv在线 | 久久精品免费一区二区| 成人手机在线播放| 成年在线观看视频| japanese在线播放| 午夜久久久久久久久久久| 久久精品一卡二卡| 在线无限看免费粉色视频| 天天影视色综合| 亚洲一级片av| 超碰在线免费观看97| 艳母动漫在线观看| 国产欧美精品aaaaaa片| 人妻互换免费中文字幕| 妺妺窝人体色777777| www.成年人视频| 欧美日韩成人免费视频| 99re在线视频免费观看| 88av.com| 国产不卡的av| 妞干网视频在线观看| 欧美一区二区中文字幕| 色婷婷综合久久久久中文字幕| 毛葺葺老太做受视频| 欧美日韩一区二区三区69堂| 天天干天天曰天天操| 国产一区一区三区| 人妻夜夜添夜夜无码av| 国产免费一区二区三区视频| 中文字幕天天干| 青青草免费在线视频观看| 精品这里只有精品| 一区二区三区韩国| 91大神免费观看| 国产亚洲天堂网| 一本二本三本亚洲码 | 国产又黄又大又粗视频| 中文字幕第100页| 2022中文字幕| www午夜视频| 欧美一区二区中文字幕| 色www免费视频| 精品这里只有精品| 自拍一级黄色片| 青娱乐自拍偷拍| 久久天天东北熟女毛茸茸| 成人在线免费播放视频| 日韩成人三级视频| 午夜激情av在线| 农村妇女精品一二区| 麻豆传媒网站在线观看| 中文字幕av专区| 久久9精品区-无套内射无码| 91精品一区二区三区四区| 日本爱爱免费视频| 黄色一级片播放| 无码熟妇人妻av在线电影| 国产一区二区在线观看免费视频| 亚洲一级片免费观看| 国产精品免费观看久久| 国产经典久久久| 欧美成人福利在线观看| 女人另类性混交zo| 大桥未久一区二区三区| 中文字幕第38页| 欧美激情国产精品日韩| 穿情趣内衣被c到高潮视频| 一级黄色高清视频| 天天色综合天天色| 国产免费黄视频| 日本福利视频在线| 国产盗摄视频在线观看| 爱爱爱视频网站| 男人的天堂最新网址|