C#操作注冊(cè)表之RegistryKey類
表示 Windows 注冊(cè)表中的項(xiàng)級(jí)節(jié)點(diǎn)。 此類是注冊(cè)表封裝。
繼承層次結(jié)構(gòu)
System.Object
System.MarshalByRefObject
Microsoft.Win32.RegistryKey
命名空間:Microsoft.Win32
程序集:mscorlib(在 mscorlib.dll 中)
屬性
名稱 | 說明 |
---|---|
Handle | 獲取一個(gè) SafeRegistryHandle 對(duì)象,該對(duì)象表示當(dāng)前 RegistryKey 對(duì)象封裝的注冊(cè)表項(xiàng)。 |
Name | 檢索項(xiàng)的名稱。 |
SubKeyCount | 檢索當(dāng)前項(xiàng)的子項(xiàng)數(shù)目。 |
ValueCount | 檢索項(xiàng)中值的計(jì)數(shù)。 |
View | 獲取用于創(chuàng)建注冊(cè)表項(xiàng)的視圖。 |
方法
名稱 | 說明 |
---|---|
Close | 關(guān)閉該項(xiàng),如果該項(xiàng)的內(nèi)容已修改,則將該項(xiàng)刷新到磁盤。 |
CreateSubKey(String) | 創(chuàng)建一個(gè)新子項(xiàng)或打開一個(gè)現(xiàn)有子項(xiàng)以進(jìn)行寫訪問。 |
CreateSubKey(String, RegistryKeyPermissionCheck) | 使用指定的權(quán)限檢查選項(xiàng)創(chuàng)建一個(gè)新子項(xiàng)或打開一個(gè)現(xiàn)有子項(xiàng)以進(jìn)行寫訪問。 |
CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions) | 使用指定的權(quán)限檢查和注冊(cè)表選項(xiàng),創(chuàng)建或打開一個(gè)用于寫訪問的子項(xiàng)。 |
CreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity) | 使用指定的權(quán)限檢查選項(xiàng)和注冊(cè)表安全性創(chuàng)建一個(gè)新子項(xiàng)或打開一個(gè)現(xiàn)有子項(xiàng)以進(jìn)行寫訪問。 |
CreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity) | 使用指定的權(quán)限檢查選項(xiàng)、注冊(cè)表選項(xiàng)和注冊(cè)表安全性,創(chuàng)建或打開一個(gè)用于寫訪問的子項(xiàng)。 |
DeleteSubKey(String) | 刪除指定的子項(xiàng)。 |
DeleteSubKey(String, Boolean) | 刪除指定的子項(xiàng),并指定在找不到該子項(xiàng)時(shí)是否引發(fā)異常。 |
DeleteSubKeyTree(String) | 遞歸刪除子項(xiàng)和任何子級(jí)子項(xiàng)。 |
DeleteSubKeyTree(String, Boolean) | 以遞歸方式刪除指定的子項(xiàng)和任何子級(jí)子項(xiàng),并指定在找不到子項(xiàng)時(shí)是否引發(fā)異常。 |
DeleteValue(String) | 從此項(xiàng)中刪除指定值。 |
DeleteValue(String, Boolean) | 從此項(xiàng)中刪除指定的值,并指定在找不到該值時(shí)是否引發(fā)異常。 |
Dispose | 釋放由 RegistryKey 類的當(dāng)前實(shí)例占用的所有資源。 |
Flush | 將指定的打開注冊(cè)表項(xiàng)的全部特性寫到注冊(cè)表中。 |
FromHandle(SafeRegistryHandle) | 根據(jù)指定的句柄創(chuàng)建注冊(cè)表項(xiàng)。 |
FromHandle(SafeRegistryHandle, RegistryView) | 利用指定的句柄和注冊(cè)表視圖設(shè)置創(chuàng)建注冊(cè)表項(xiàng)。 |
GetAccessControl() | 返回當(dāng)前注冊(cè)表項(xiàng)的訪問控制安全性。 |
GetAccessControl(AccessControlSections) | 返回當(dāng)前注冊(cè)表項(xiàng)的訪問控制安全性的指定部分。 |
GetSubKeyNames | 檢索包含所有子項(xiàng)名稱的字符串?dāng)?shù)組。 |
GetValue(String) | 檢索與指定名稱關(guān)聯(lián)的值。 如果注冊(cè)表中不存在名稱/值對(duì),則返回 null。 |
GetValue(String, Object) | 檢索與指定名稱關(guān)聯(lián)的值。 如果未找到名稱,則返回您提供的默認(rèn)值。 |
GetValue(String, Object, RegistryValueOptions) | 檢索與指定的名稱和檢索選項(xiàng)關(guān)聯(lián)的值。 如果未找到名稱,則返回您提供的默認(rèn)值。 |
GetValueKind | 檢索與指定名稱關(guān)聯(lián)的值的注冊(cè)表數(shù)據(jù)類型。 |
GetValueNames | 檢索包含與此項(xiàng)關(guān)聯(lián)的所有值名稱的字符串?dāng)?shù)組。 |
OpenBaseKey | 打開一個(gè)新的 RegistryKey,它使用指定的視圖在本地計(jì)算機(jī)上表示請(qǐng)求的項(xiàng)。 |
OpenRemoteBaseKey(RegistryHive, String) | 打開一個(gè)新的 RegistryKey,它表示遠(yuǎn)程計(jì)算機(jī)上的請(qǐng)求的項(xiàng)。 |
OpenRemoteBaseKey(RegistryHive, String, RegistryView) | 打開一個(gè)新的注冊(cè)表項(xiàng),它使用指定的視圖在遠(yuǎn)程計(jì)算機(jī)上表示請(qǐng)求的項(xiàng)。 |
OpenSubKey(String) | 以只讀方式檢索子項(xiàng)。 |
OpenSubKey(String, RegistryKeyPermissionCheck) | 檢索指定的子項(xiàng)以進(jìn)行讀取或讀/寫訪問。 |
OpenSubKey(String, Boolean) | 檢索指定的子項(xiàng),并指定是否將寫訪問權(quán)限應(yīng)用于該項(xiàng)。 |
OpenSubKey(String, RegistryKeyPermissionCheck, RegistryRights) | 檢索指定的子項(xiàng)以進(jìn)行讀取或讀/寫訪問,請(qǐng)求指定的訪問權(quán)限。 |
SetAccessControl | 向現(xiàn)有注冊(cè)表項(xiàng)應(yīng)用 Windows 訪問控制安全性。 |
SetValue(String, Object) | 設(shè)置指定的名稱/值對(duì)。 |
SetValue(String, Object, RegistryValueKind) | 使用指定的注冊(cè)表數(shù)據(jù)類型設(shè)置注冊(cè)表項(xiàng)中的名稱/值對(duì)的值。 |
ToString | 檢索此項(xiàng)的字符串表示形式。 (重寫 Object.ToString()。) |
備注
要獲取 RegistryKey 的實(shí)例,請(qǐng)使用 Registry 類的靜態(tài)成員之一。
注冊(cè)表充當(dāng)計(jì)算機(jī)上操作系統(tǒng)和應(yīng)用程序的中央信息儲(chǔ)存庫(kù)。 注冊(cè)表根據(jù)存儲(chǔ)在其中的元素的邏輯順序,以分層形式組織(有關(guān)該層次結(jié)構(gòu)中的基級(jí)項(xiàng),請(qǐng)參見 Registry)。在注冊(cè)表中存儲(chǔ)信息時(shí),請(qǐng)根據(jù)存儲(chǔ)的信息類型選擇適當(dāng)?shù)奈恢谩?nbsp;一定要避免損壞由其他應(yīng)用程序創(chuàng)建的信息,原因是這樣會(huì)導(dǎo)致那些應(yīng)用程序出現(xiàn)意外的行為,并且還會(huì)對(duì)您自己的應(yīng)用程序帶來不利影響。
注冊(cè)表項(xiàng)是組織基本單元在注冊(cè)表,并且可以與文件資源管理器的文件夾比較。 每個(gè)具體的注冊(cè)表項(xiàng)都可以有子項(xiàng),就像文件夾下可以有子文件夾一樣。 只要用戶具有相應(yīng)的權(quán)限,且注冊(cè)表項(xiàng)不是基項(xiàng)或基項(xiàng)的下一級(jí)項(xiàng),就可以刪除該注冊(cè)表項(xiàng)。 每個(gè)注冊(cè)表項(xiàng)也可帶有與其相關(guān)聯(lián)的多個(gè)值(一個(gè)值就好比是一個(gè)文件),它們用于存儲(chǔ)信息,例如,有關(guān)計(jì)算機(jī)上安裝的應(yīng)用程序的信息。 每個(gè)值存儲(chǔ)特定的信息,可按需要對(duì)其進(jìn)行檢索或更新。 例如,可以為您的公司創(chuàng)建一個(gè) RegistryKey(在項(xiàng) HKEY_LOCAL_MACHINE\Software 下),然后為您的公司創(chuàng)建的每個(gè)應(yīng)用程序創(chuàng)建一個(gè)子項(xiàng)。 每個(gè)子項(xiàng)保存特定于該應(yīng)用程序的信息,如顏色設(shè)置、屏幕位置和大小或者可識(shí)別的文件擴(kuò)展名。
注意,存儲(chǔ)在注冊(cè)表中的信息可由其他應(yīng)用程序和用戶使用,因此不要用注冊(cè)表存儲(chǔ)安全數(shù)據(jù)或關(guān)鍵的應(yīng)用程序信息。
警告 |
---|
在公開 RegistryKey 對(duì)象時(shí)不要采用一種可能會(huì)導(dǎo)致惡意程序創(chuàng)建成千上萬的無意義的子項(xiàng)或鍵/值對(duì)的方式。 例如,不允許調(diào)用方輸入任意鍵或值。 |
在 .NET Framework 4 中開始,注冊(cè)表項(xiàng)的長(zhǎng)度不再限于 255 個(gè)字符。
到此這篇關(guān)于C#操作注冊(cè)表之RegistryKey類的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#實(shí)現(xiàn)將網(wǎng)頁(yè)保存成圖片的網(wǎng)頁(yè)拍照功能
這篇文章主要介紹了C#實(shí)現(xiàn)將網(wǎng)頁(yè)保存成圖片的網(wǎng)頁(yè)拍照功能,很實(shí)用的一個(gè)功能,需要的朋友可以參考下2014-07-07c#模擬js escape方法的簡(jiǎn)單實(shí)例
這篇文章主要介紹了c#模擬js escape方法的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-11-11詳解C# Socket簡(jiǎn)單例子(服務(wù)器與客戶端通信)
這篇文章主要介紹了詳解C# Socket簡(jiǎn)單例子(服務(wù)器與客戶端通信) ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-12-12C#發(fā)送Get、Post請(qǐng)求(帶參數(shù))
本文主要介紹了C#發(fā)送Get、Post請(qǐng)求,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09在.net應(yīng)用程序中運(yùn)行其它EXE文件的方法
這篇文章主要介紹了在.net應(yīng)用程序中運(yùn)行其它EXE文件的方法,涉及C#進(jìn)程操作的相關(guān)技巧,需要的朋友可以參考下2015-05-05C#實(shí)現(xiàn)倒計(jì)時(shí)關(guān)閉提示框功能
最近小編接到一個(gè)功能需要實(shí)現(xiàn)一個(gè)提示框并且能自動(dòng)關(guān)閉的,看到這個(gè)需求真是懵了,四處搜集資料才搞定,接下來通過本文給大家分享C#實(shí)現(xiàn)倒計(jì)時(shí)關(guān)閉提示框功能,感興趣的朋友跟隨小編一起看看吧2019-07-07簡(jiǎn)單了解C#設(shè)計(jì)模式編程中的橋接模式
這篇文章主要介紹了C#設(shè)計(jì)模式編程中的橋接模式,橋接模式經(jīng)常應(yīng)用于解耦邏輯層與數(shù)據(jù)操作層,需要的朋友可以參考下2016-02-02C# 使用Word模板導(dǎo)出數(shù)據(jù)的實(shí)現(xiàn)代碼
最近接到個(gè)需求,使用word模板導(dǎo)出數(shù)據(jù),怎么實(shí)現(xiàn)這個(gè)需求呢,今天小編通過實(shí)例代碼給大家介紹C# 使用Word模板導(dǎo)出數(shù)據(jù)的方法,感興趣的朋友一起看看吧2021-06-06