首先我們來(lái)熟悉一下C#中修改注冊表的方法與函數。在VC#中提供了Registry類(lèi)、RegistryKey類(lèi)來(lái)實(shí)現對注冊表的操作。其中Registry類(lèi)封裝了注冊表的七個(gè)基本主?。?
Registry.ClassesRoot 對應于HKEY_CLASSES_ROOT主鍵
Registry.CurrentUser 對應于HKEY_CURRENT_USER主鍵
Registry.LocalMachine 對應于 HKEY_LOCAL_MACHINE主鍵
Registry.User 對應于 HKEY_USER主鍵
Registry.CurrentConfig 對應于HEKY_CURRENT_CONFIG主鍵
Registry.DynDa 對應于HKEY_DYN_DATA主鍵
Registry.PerformanceData 對應于HKEY_PERFORMANCE_DATA主鍵
RegistryKey類(lèi)封裝了對注冊表的基本操作,包括讀取,寫(xiě)入,刪除。其中讀取的主要函數有:
OpenSubKey ( string name )方法主要是打開(kāi)指定的子鍵。
GetSubKeyNames ( )方法是獲得主鍵下面的所有子鍵的名稱(chēng),它的返回值是一個(gè)字符串數組。
GetValueNames ( )方法是獲得當前子鍵中的所有的鍵名稱(chēng),它的返回值也是一個(gè)字符串數組。
GetValue ( string name )方法是指定鍵的鍵值。
寫(xiě)入的函數有:
CreateSubKey(string name)方法是增加一個(gè)子鍵
SetValue(string name,string value)方法是設置一個(gè)鍵的鍵值
刪除的函數:
DeleteSubKey ( )方法:刪除一個(gè)指定的子鍵。
DeleteSubKeyTree ( )方法:
此方法是徹底刪除指定的子鍵目錄,即:刪除該子鍵以及該子鍵以下的全部子鍵。
通過(guò)注冊表可以修改IE,在這里我簡(jiǎn)單的介紹幾個(gè)常用的來(lái)實(shí)現對IE的修改。
如果我們希望在打開(kāi)或者關(guān)閉IE窗口時(shí),被打開(kāi)的窗口有動(dòng)感效果,那么可以打開(kāi)HKEY_ CURRENT_USER \ Control Panel\ desktop\ WindowMetrics鍵,并在右邊的窗口中新建串值"Minanimat"與"Maxanimat"并設值為"0",為"1",這樣在IE窗口最大最小化切換時(shí)有遞變的效果。
如果我們更改為IE的工具欄添加背景那么展開(kāi)HKEY_Current_User\ Software\Microsoft\Internet Explorer\Toolbar鍵值,Explorer主鍵下新建一個(gè)名為"BackBitmap"的字符串值,并將其值修改為事先準備的BMP圖片的完整路徑及文件名;這樣我們就完成了為IE的工具欄添加背景圖片的目的。
用C#編程來(lái)實(shí)現的方法如下:
1.IE窗口的動(dòng)感效果
//-------------------------------------
// ChangeIE.cs ? 2004 by yudehui
//-------------------------------------
using System;
using Microsoft.Win32; //對注冊表操作一定要引用這個(gè)命名空間
namespace ChangeIE
{
class ChangeIE
{
[STAThread]
static void Main(string[] args)
{
RegistryKey pregkey ;
pregkey = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop\\WindowMetrics",true);
if (pregkey==null)
{
Console.WriteLine("鍵值不存在");
}
else
{
pregkey.SetValue("MinAnimate","1");
pregkey.SetValue("MaxAnimate","1");
Console.WriteLine("修改成功");
}
pregkey. Close;
}
}
}
2.改變IE工具欄的背景
//-------------------------------------
// ChangeIE.cs ? 2004 by yudehui
//-------------------------------------
using System;
using Microsoft.Win32; //對注冊表操作一定要引用這個(gè)命名空間
namespace ChangeIEbackColor
{
class ChangeIEbackColor
{
[STAThread]
static void Main(string[] args)
{
RegistryKey pregkey ;
pregkey = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet" + "Explorer\\Toolbar\\Explorer ",true);
if (pregkey==null)
{
Console.WriteLine("鍵值不存在");
}
else
{
pregkey.SetValue("BackBitmap","C:\\windows\\Greenstone.bmp");
Console.WriteLine("修改成功");
}
pregkey.Close;
}
}
}
以上兩個(gè)簡(jiǎn)單的例子只是對IE進(jìn)行了簡(jiǎn)單的設定,相信大家對C#下對注冊表的操作已經(jīng)有了一定的了解。有興趣的讀者可以自己對IE進(jìn)行更個(gè)性化的修改,以上代碼在Windows2003+VS.NET2003下調試通過(guò)。
注:在對注冊表進(jìn)行操作有一定的危險性,操作時(shí)要先進(jìn)行備份,以防止誤操作,而導致系統崩潰。
聯(lián)系客服