程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用C#讀取Windows注冊表中的多重字串和二進制字串

用C#讀取Windows注冊表中的多重字串和二進制字串

編輯:關於C語言

注冊表中有多種數據存放的格式,有幾種常見不能直接讀出的格式。下面列出了2個方法,分別是讀取WindowsXP注冊表中的REG_MULTI_SZ( 多重字串)和REG_BINARY(二進制值)的方法。

//讀取Windows安裝盤目錄
//Installation Sources是個REG_MULTI_SZ:多重字串,直接轉string讀不出
string[] key = (string[])Registry.LocalMachine.OpenSubKey(
@"SOFTWAREMicrosoftWindowsCurrentVersionSetup").GetValue("Installation Sources");
treeVIEw1.Nodes[0].Nodes[4].Nodes[3].Nodes.Add("安裝盤目錄:" +
key.GetValue(0).ToString());
//讀取DirectX版本
//directX是個REG_BINARY類型,必須轉換得到它正確的值
byte[] array = (byte[])Registry.LocalMachine.OpenSubKey(
@"SOFTWAREMICROSOFTDirectX").GetValue("InstalledVersion");
//byte array1 = (byte)array.GetValue(0);
string sDirectX = "DirectX ";
for (int i = 0; i < array.Length; i++)
...{
if (array[i] != 0)
...{
sDirectX+=array[i].ToString();
}
}
string sVer= Registry.LocalMachine.OpenSubKey(
@"SOFTWAREMICROSOFTDirectX").GetValue("Version").ToString();
sDirectX += " ("+sVer+")";

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