日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 操作注册表

發布時間:2024/1/17 C# 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 操作注册表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Microsoft.Win32命名空間中提供了兩個類來操作注冊表:Registry類和RegistryKey類,并且這兩個類都是密封類不允許被繼承。

Registry 類

提供表示 Windows 注冊表中的根項的?RegistryKey?對象,并提供訪問項/值對的?static?方法。

Registry?類還包含從注冊表項設置和檢索值的?staticGetValue?和?SetValue?方法。每次使用這兩種方法時,它們都會打開和關閉注冊表項,所以,當您訪問大量值時,使用這兩種方法不如使用?RegistryKey?類中的類似方法。

RegistryKey?類還提供了可用來為注冊表項設置 Windows 訪問控制安全性的方法、可用來在檢索值之前測試值的數據類型的方法以及刪除項的方法。

RegistryKey 類

表示 Windows 注冊表中的項級節點。?此類是注冊表封裝。

?

RegistryKey.OpenSubKey 方法 (String)?以只讀方式檢索子項。

RegistryKey.OpenSubKey 方法 (String, Boolean)?檢索指定的子項,并指定是否將寫訪問權限應用于該項。

必須先打開項才能用其他方法和屬性對其進行操作。?要修改項,必須用適當的?OpenSubKey?方法重載打開所需的項,該重載應能允許指定寫訪問,例如,OpenSubKey(String, RegistryKeyPermissionCheck)?重載或?OpenSubKey(String, Boolean)?重載。

如果找不到指定的子項,則返回?null

要使用?OpenSubKey?方法,您必須擁有?RegistryKey?的實例。?要獲取?RegistryKey?的實例,請使用?Registry?類的靜態成員之一。

?

View Code

?

得到PC上安裝的Word版本 #region 得到PC上安裝的Word版本/// <summary>/// 得到PC上安裝的Word版本/// </summary>/// <returns></returns>private string GetWordVersion(){IList<string> ilistSubKeys = new List<string>();IList<string> ilistVersion = new List<string>();string[] OfficeVersionNames = new string[5] { "8.0", "9.0", "14.0", "11.0", "12.0" };//目前發行的office所有版本string[] OfficeExistVersion;//本地計算機上所有office版本string[] OfficeSubKeys;//本地計算機注冊表Office目錄下所有子項string OfficeCurrentVersion = "";//本地計算機安裝的Office版本string OSVersion;//本地計算機操作系統版本OSVersion = GetOSVersion();if (OSVersion == "WIN 7"){RegistryKey regkey = Registry.LocalMachine;RegistryKey sys = regkey.OpenSubKey(@"SOFTWARE").OpenSubKey(@"Microsoft").OpenSubKey(@"Office");foreach (string str in sys.GetSubKeyNames()){ilistSubKeys.Add(str);}OfficeSubKeys = ilistSubKeys.ToArray<string>();for (int i = 0; i < OfficeSubKeys.Length; i++){for (int j = 0; j < OfficeVersionNames.Length; j++){if (OfficeSubKeys[i] == OfficeVersionNames[j]){ilistVersion.Add(OfficeSubKeys[i]);}}}OfficeExistVersion = ilistVersion.ToArray<string>();for(int k=0;k<OfficeExistVersion .Length ;k++){sys = regkey.OpenSubKey(@"SOFTWARE").OpenSubKey(@"Microsoft").OpenSubKey(@"Office").OpenSubKey(OfficeExistVersion[k]);foreach (string str in sys.GetSubKeyNames()){if (str == "Word"){sys = regkey.OpenSubKey(@"SOFTWARE").OpenSubKey(@"Microsoft").OpenSubKey(@"Office").OpenSubKey(OfficeExistVersion[k]).OpenSubKey(@"Word").OpenSubKey(@"InstallRoot");if (sys != null){OfficeCurrentVersion = OfficeExistVersion[k];break;}}}}}else if (OSVersion == "WIN XP"){RegistryKey regkey = Registry.CurrentUser;RegistryKey sys = regkey.OpenSubKey(@"SOFTWARE").OpenSubKey(@"Microsoft").OpenSubKey(@"Office");foreach (string str in sys.GetSubKeyNames()){ilistSubKeys.Add(str);}OfficeSubKeys = ilistSubKeys.ToArray<string>();for (int i = 0; i < OfficeSubKeys.Length; i++){for (int j = 0; j < OfficeVersionNames.Length; j++){if (OfficeSubKeys[i] == OfficeVersionNames[j]){ilistVersion.Add(OfficeSubKeys[i]);}}}OfficeExistVersion = ilistVersion.ToArray<string>();for (int k = 0; k < OfficeExistVersion.Length; k++){sys = regkey.OpenSubKey(@"SOFTWARE").OpenSubKey(@"Microsoft").OpenSubKey(@"Office").OpenSubKey(OfficeExistVersion[k]);foreach (string str in sys.GetSubKeyNames()){if (str == "Word"){sys = regkey.OpenSubKey(@"SOFTWARE").OpenSubKey(@"Microsoft").OpenSubKey(@"Office").OpenSubKey(OfficeExistVersion[k]).OpenSubKey(@"Word").OpenSubKey(@"Options");if (sys != null){OfficeCurrentVersion = OfficeExistVersion[k];break;}}}}}else{OfficeCurrentVersion = "11.0";}return OfficeCurrentVersion;}#endregion

?

獲取本地計算器操作系統版本 /// <summary>/// 獲取本地計算器操作系統版本/// </summary>/// <returns></returns>private string GetOSVersion(){Version ver = System.Environment.OSVersion.Version;string ClientOSVersion = "";if (ver.Major == 5 && ver.Minor == 1){ClientOSVersion = "WIN XP";}else if (ver.Major == 5 && ver.Minor == 0){ClientOSVersion = "WIN 2000";}else if (ver.Major == 6 && ver.Minor == 1){ClientOSVersion = "WIN 7";}else if (ver.Major == 6 && ver.Minor == 0){ClientOSVersion = "WIN Vista";}else{ClientOSVersion ="未知";}return ClientOSVersion ; }#endregion

注:本文整理自MSDN!!!

復制搜索 復制搜索

轉載于:https://www.cnblogs.com/YuanSong/archive/2012/08/01/2618344.html

總結

以上是生活随笔為你收集整理的C# 操作注册表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。