用VisualC#實(shí)現(xiàn)對注冊表的操作_第1頁
用VisualC#實(shí)現(xiàn)對注冊表的操作_第2頁
用VisualC#實(shí)現(xiàn)對注冊表的操作_第3頁
用VisualC#實(shí)現(xiàn)對注冊表的操作_第4頁
用VisualC#實(shí)現(xiàn)對注冊表的操作_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、用Visuac#實(shí)現(xiàn)對注冊表的操作、引言注冊表是微軟公司從Windows95開始引入了新概念。它本質(zhì)上是Windows系統(tǒng)的一個核心的數(shù)據(jù)庫,在這個數(shù)據(jù)庫中存放著與系統(tǒng)相關(guān)的各種參數(shù),這些參數(shù)直接控制系統(tǒng)的啟動、硬件驅(qū)動程序的安裝信息以及在系統(tǒng)上運(yùn)行的各種應(yīng)用程序的注冊信息等。這些作用包括了軟、硬件的相關(guān)配置和狀態(tài)信息,比如注冊表中保存有應(yīng)用程序和資源管理器外殼的初始條件、和卸載數(shù)首選項據(jù)等,聯(lián)網(wǎng)計算機(jī)的整個系統(tǒng)的設(shè)置和各種許可,文件擴(kuò)展名與應(yīng)用程序的關(guān)聯(lián),硬件部件的描述、狀態(tài)和屬性,性能記錄和其他底層的系統(tǒng)狀態(tài)信息,以及其他數(shù)據(jù)等。如果注冊表受到了破壞,輕則使Windows的啟動過程出現(xiàn)異常

2、,重則可能會導(dǎo)致整個敗刀dows系統(tǒng)的完全癱瘓。因此正確地認(rèn)識、使用,特別是及時備份以及有問題恢復(fù)注冊表對Windows用戶來說就顯得非常重要。所以正確的認(rèn)識注冊表,及時的備份注冊表,對于Windows用戶來說顯得相當(dāng)重要。當(dāng)自己的電腦出現(xiàn)故障面臨對注冊表的修改時,我們經(jīng)常會運(yùn)行命令Regedit來實(shí)現(xiàn),但操作起來是很麻煩的。二、VisualC#與注冊表相關(guān)的兩個類在VisualC#中的Microsoft.Win32的名稱空間,定義了兩個用于注冊表操作的類:Registry類、RegistryKey類。Registry類主要封裝了七個公有的靜態(tài)域,而這些靜態(tài)域分別代表這注冊表中的七個主鍵。Re

3、gistryKey類中主要封裝了對注冊表的基本操作。這二個類都是封閉類,不可以繼承。1)Registry類:此類主要封裝了七個公有的靜態(tài)域,而這些靜態(tài)域分別代表這視窗注冊表中的七個基本的主鍵,具體如下所示:2)RegistryKey類:為了更好的理解應(yīng)用RegistryKeys類,我們再來認(rèn)識一下RegistryKeys類,RegistryKeys是注冊表中的基本組織單位,像是Windows資源管理器中的文件夾。特定的項可以有子項(像文件夾可以有子文件夾),并且只要用戶具有適當(dāng)?shù)膭h除權(quán)限,且此項不是基項或基項的下一級項,可以刪除此項。每個項還可以有多個關(guān)聯(lián)的值(值好像是文件),用于存儲您感興趣

4、的應(yīng)用程序的信息。每個值保存一條特定的信息、,在需要時可以檢索或更新此信息。若要獲取RegistryKey的實(shí)例,可以使用Registry類的靜態(tài)成員。RegistryKey類中主要封裝了對系統(tǒng)注冊表的基本操作。在程序設(shè)計中,首先通過Registry類找到注冊表中的基本主鍵,然后通過RegistryKey類,來找其下面的子鍵和處理具體的操作的。RegistryKey類封裝了讀取,寫入,刪除的基本操作。主要讀取方法:OpenSubKey(stringname)方法主要是打開指定的子鍵。GetSubKeyNames()方法是獲得主鍵下面的所有子鍵的名稱,它的返回值是一個字符串?dāng)?shù)組。GetValue

5、Names ()方法是獲得當(dāng)前子鍵中的所有的鍵名稱,它的返回值也是一個字符串?dāng)?shù)組。GetValue(stringname)方法是指定鍵的鍵值。主要寫入方法:CreateSubKey(stringname)方法是增加一個子鍵SetValue(stringname,stringvalue)方法是設(shè)置一個鍵的鍵值主要刪除方法:DeleteSubKey()方法:刪除一個指定的子鍵。DeleteSubKeyTree()方法:徹底刪除指定的子鍵目錄,即刪除該子鍵以及該子鍵以下的全部子鍵。三、通過VisualC#讀取注冊表信息要實(shí)現(xiàn)對注冊表的操作先要能讀取注冊表,我們以檢索注冊表基項HKEY_CURRENT

6、_USE例,來展示VisualC#中非常簡單就可以實(shí)現(xiàn)對注冊表信息的讀取。HKEYCURRENTUSE儲了包括環(huán)境變量的設(shè)置和有關(guān)程序組、顏色、打印機(jī)、網(wǎng)絡(luò)連接和應(yīng)用程序首選項的數(shù)據(jù)。它使建立當(dāng)前用戶的設(shè)置更容易。下面的示例說明如何檢索此項的子項,以及如何將它們的名稱輸出到屏幕。使用OpenSubKey方法創(chuàng)建相關(guān)的特定子項的實(shí)例。然后可使用中RegistryKey的其他操作操作該項。usingSystem;usingMicrosoft.Win32;classRegpublicstaticvoidMain()/倉ij建訪問HKEYCURRENTUSE項RegistryKeyrk=Registr

7、y.CurrentUser;/通過方法輸出鍵值PrintKeys(rk);/定義輸出鍵值的方法staticvoidPrintKeys(RegistryKeyrkey)/獲取鍵值String口names=rkey.GetSubKeyNames();inticount=0;Console.WriteLine(Subkeysof+rkey.Name);Console.WriteLine();/Printthecontentsofthearraytotheconsole.foreach(Stringsinnames)Console.WriteLine(s);/輸出鍵值并記數(shù)icount+;if(ico

8、unt>=10)break;四、通過VisualC#改寫注冊表信息在互聯(lián)網(wǎng)廣泛使用的今天,很多人都碰到過在使用IE瀏覽器時,打開IE就會自動彈出一些自己討厭的網(wǎng)站,即便在IE屬性中修改也沒有用,這時就會想到修改注冊表。先看一個修改IE的例子。如果我們在打開或者關(guān)閉IE窗口時,希望被打開的窗口有動感效果,那么可以通過設(shè)置HKEY_CURRENT_USERControlPaneldesktopWindowMetrics新建串鍵,在右邊的窗口中值Minanimat與"Maxanimat”并設(shè)值為0,為1,這樣在IE窗口最大最小化切換時有遞變的效果,以下是實(shí)現(xiàn)這一功能的程序:usingSystem;usingMicrosoft.Win32;/對注冊表操作一定要引用這個命名空間namespaceChangelEclassChangelEstaticvoidMain(string口args)RegistryKeypregkey;“Controlpregk6y=Registry.CurrentUser-OpenSubKey(WindowMetrics”,true);if(pregkey=null)Console.WriteLine(鍵值不存在”else

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論