'先建立一個(gè)注冊(cè)表鍵;此列注冊(cè)表鍵名為T(mén)estKey。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括延津網(wǎng)站建設(shè)、延津網(wǎng)站制作、延津網(wǎng)頁(yè)制作以及延津網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,延津網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到延津省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
My.Computer.Registry.CurrentUser.CreateSubKey("TestKey")
'定義注冊(cè)表鍵路徑,并賦值于注冊(cè)表鍵;此列路徑為HKEY_CURRENT_USER\TestKey,賦值為 "Test Value"
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\TestKey", "TestValue", "This is a test value.")
利用VB.NET訪問(wèn)注冊(cè)表
譯者注:訪問(wèn)注冊(cè)表的例子比較多,然而通過(guò)VB.NET訪問(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è)類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類中的函數(shù)來(lái)訪問(wèn)注冊(cè)表。雖然大多數(shù)情況下VB.NET的內(nèi)置函數(shù)足夠用了,然而某些情況下你仍然需要.NET框架類來(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)中的鍵和子鍵,類似于文件系統(tǒng)中的目錄和子目錄。
必備知識(shí)
要想讀懂本文需要有如下的必備知識(shí):
1、熟悉上一個(gè)版本的Visual
Basic。
2、注冊(cè)表設(shè)計(jì)和利用的知識(shí)。
3、理解訪問(wèn)注冊(cè)表的安全含義。
用VB.NET內(nèi)置函數(shù)訪問(wèn)注冊(cè)表
VB.NET提供了四個(gè)訪問(wèn)注冊(cè)表的函數(shù),為了使用它們,首先必須有讀寫(xiě)權(quán)限。任何運(yùn)行在全信任模式下的代碼都必須有訪問(wèn)注冊(cè)表的必要的權(quán)限。可以查看RegistryPermission類從而
左鍵是1
右鍵是2
中鍵是4
可以組合相加
左右同時(shí)就是3,也可以寫(xiě)做:vbleftbutton+vbrightbutton
1,對(duì)于INI文件,可以當(dāng)做像TXT文件一樣來(lái)進(jìn)行讀取和寫(xiě)入。
2,先把整個(gè)文件度出來(lái),然后找到相應(yīng)行刪除(拋棄)以后,再重新寫(xiě)入文件。
Public?Class?Form1
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Dim?MyStr?As?String?=?""
Dim?AllStr?As?String?=?""
'獲取一個(gè)可用的文件號(hào)
Dim?MyFileNum?As?Integer?=?FreeFile()
'打開(kāi)指定的文件,進(jìn)行讀取操作
FileOpen(MyFileNum,?"C:\My.ini",?OpenMode.Input)
Do?While?Not?EOF(MyFileNum)
'讀取一行
MyStr?=?LineInput(MyFileNum)
If?MyStr??"b=2"?Then
If?AllStr?=?""?Then
AllStr?=?AllStr??MyStr
Else
AllStr?=?AllStr??vbCrLf??MyStr
End?If
End?If
Loop
FileClose(MyFileNum)???'關(guān)閉文件
'寫(xiě)文件
Dim?MyStream?As?New?System.IO.FileStream("C:\My.ini",?IO.FileMode.Create)
Dim?MyWriter?As?New?System.IO.StreamWriter(MyStream,?System.Text.Encoding.UTF8)
MyWriter.WriteLine(AllStr)
MyWriter.Flush()
MyWriter.Close()
MyStream.Close()
End?Sub
End?Class
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByRef lpData As Any, ByRef lpcbData As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByRef phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Const HKEY_LOCAL_MACHINE As Long = H80000002
Private Sub Command1_Click()
'獲取注冊(cè)表啟動(dòng)項(xiàng)
Dim hKey As Long, ret As Long, Name As String
Name = String(256, Chr(0))
ret = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", hKey) '路徑
ret = RegQueryValueEx(hKey, "MyApp", 0, 1, ByVal Name, Len(Name)) '項(xiàng)的名稱
RegCloseKey hKey
' 修改注冊(cè)表
If ret 0 Then
Set w = CreateObject("wscript.shell")
w.regwrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\MyApp", App.Path "\" App.EXEName ".exe"
End If
End Sub
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)題:vb.net鍵值,vb ctrl+c
分享URL:http://chinadenli.net/article5/dsgjdii.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站營(yíng)銷、ChatGPT、面包屑導(dǎo)航、營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)