1. 什麼是註冊表?
存放電腦運行方式的配置資訊的樹狀表。其中包括Windows 作業系統配置資訊、應用程式配置資訊、專用使用者裝置配置資訊、環境配置資訊等。另外在WindowsNT 和Windows2000 作業系統中註冊表中還包含了安全性、網路管理等配置資訊.
2.註冊表編輯工具
• Regedit:在所有的Windows版本中都有,從Windows95開始就是標準版本了。
• Regedt32:則在WinNT和Win2000中才有,其方便使用性不如Regedit,但可以訪問regedit不能訪問的安全資訊。
3.主鍵、子鍵和索引值
• 主鍵:登錄編輯程式中左邊出現的項目
• 子鍵:主鍵的下一級主鍵稱為該主鍵的子鍵
• 索引值:主鍵可以有一個或者多個值,值的名稱稱為索引值
4.索引值的類型
• 字串(REG_SZ)
• 二進位(REG_BINAY)
• 雙字(REG_DWORD)
• WinNT中還包括以下擴充字元串值– 擴充字元串值(REG_EXPAND_SZ)– 多字串值(REG_MULTI_SZ)
5.WINDOWS註冊表中的7個預定義主鍵
• HKEY_CLASSES_ROOT
• HKEY_CURRENT_USER
• HKEY_LOCAL_MACHINE
• HKEY_USERS
• HKEY_CURRENT_CONFIG
• HKEY_DYN_DATA
• HKEY_PERFORMANCE_DATA
6.提供7個公有靜態域,分別代表註冊表中的7個
基本主鍵:
• Registry.ClassesRoot: 對應於HKEY_CLASSES_ROOT 主鍵
• Registry.CurrentUser :對應於HKEY_CURRENT_USER 主鍵
• Registry.LocalMachine :對應於HKEY_ LOCAL_MACHINE 主鍵
• Registry.Users: 對應於HKEY_USERS 主鍵
• Registry.CurrentConfig :對應於HKEY__CURRENT_CONFIG 主鍵
• Registry.DynDta: 對應於HKEY_DYN_DATA 主鍵
• Registry.PerformanceData :對應於HKEY_ PERFORMANCE_DATA 主鍵
7.Registry和RegistryKey
它們都是密封類,即不能被繼承.RegistryKey執行個體表示一個登錄機碼,這個類的方法可以瀏覽子鍵、建立新鍵、讀取或修改鍵中的值。它可以用於完成對註冊表的所有操作。
Registry是不能執行個體化的類,它的作用只是提供表示定級鍵的RegistryKey執行個體
8.代碼例子:
Code
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Win32;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//定位到主鍵
RegistryKey key = Registry.CurrentUser;
//create regetry key
RegistryKey key1 = key.CreateSubKey(@"SoftWare\RegetryDemo");
key1.SetValue("NoFind", "1");
key1.SetValue("no money", "2");
key1.Close();
//read regetry key
RegistryKey key2 = key.OpenSubKey(@"SoftWare\RegetryDemo");
foreach (string s in key2.GetValueNames())
{
Console.WriteLine("name:" + s + " value:" + key2.GetValue(s));
}
Console.Read();
}
}
}