C#編程打造自己的IE瀏覽器
來源:互聯網
上載者:User
編程|瀏覽器 聲明:本文已經放到了天極網站上,這裡只是收藏而已。未經許可,不得轉載
IE是現在Windows平台下用的最多的瀏覽器,那麼如何用程式來修改IE,打造有自己的特色的IE呢?
我在這裡向介紹怎麼C#用通過註冊表來修改IE。
首先我們來熟悉一下C#中修改註冊表的方法與函數。在VC#中提供了Registry類、RegistryKey類來實現對註冊表的操作。其中Registry類封裝了註冊表的七個基本主健:
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類封裝了對註冊表的基本操作,包括讀取,寫入,刪除。其中讀取的主要函數有:
OpenSubKey ( string name )方法主要是開啟指定的子鍵。
GetSubKeyNames ( )方法是獲得主鍵下面的所有子鍵的名稱,它的傳回值是一個字串數組。
GetValueNames ( )方法是獲得當前子鍵中的所有的鍵名稱,它的傳回值也是一個字串數組。
GetValue ( string name )方法是指定鍵的索引值。
寫入的函數有:
CreateSubKey(string name)方法是增加一個子鍵
SetValue(string name,string value)方法是設定一個鍵的索引值
刪除的函數:
DeleteSubKey ( )方法:刪除一個指定的子鍵。
DeleteSubKeyTree ( )方法:
此方法是徹底刪除指定的子鍵目錄,即:刪除該子鍵以及該子鍵以下的全部子鍵。
通過註冊表可以修改IE,在這裡我簡單的介紹幾個常用的來實現對IE的修改。
如果我們希望在開啟或者關閉IE視窗時,被開啟的視窗有動感效果,那麼可以開啟HKEY_ CURRENT_USER \ Control Panel\ desktop\ WindowMetrics鍵,並在右邊的視窗中建立串值"Minanimat"與"Maxanimat"並設值為"0",為"1",這樣在IE視窗最大最小化切換時有遞變的效果。
如果我們更改為IE的工具列添加背景那麼展開HKEY_Current_User\ Software\Microsoft\Internet Explorer\Toolbar索引值,Explorer主鍵下建立一個名為"BackBitmap"的字串值,並將其值修改為事先準備的BMP圖片的完整路徑及檔案名稱;這樣我們就完成了為IE的工具列添加背景圖片的目的。
用C#編程來實現的方法如下:
1.IE視窗的動感效果
//-------------------------------------
// ChangeIE.cs © 2004 by yudehui
//-------------------------------------
using System;
using Microsoft.Win32; //對註冊表操作一定要引用這個命名空間
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; //對註冊表操作一定要引用這個命名空間
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;
}
}
}
以上兩個簡單的例子只是對IE進行了簡單的設定,相信大家對C#下對註冊表的操作已經有了一定的瞭解。有興趣的讀者可以自己對IE進行更個人化的修改,以上代碼在Windows2003+VS.NET2003下調試通過。
註:在對註冊表進行操作有一定的危險性,操作時要先進行備份,以防止誤操作,而導致系統崩潰。