程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> C#讀寫注冊表

C#讀寫注冊表

編輯:.NET實例教程

C#編程打造自己的IE浏覽器 選擇自 yudehui 的 Blog
關鍵字 C#編程打造自己的IE浏覽器
出處

聲明:本文已經放到了天極網站上,這裡只是收藏而已。未經許可,不得轉載

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下調試通過。

注:在對注冊表進行操作有一定的危險性,操作時要先進行備份,以防止誤操作,而導致系統崩潰。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved