首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 讀取註冊表多重字串與二進制值

     編輯:關於C語言

Windows 註冊表儲存數據類型多樣,`REG_MULTI_SZ`(多重字串)與 `REG_BINARY`(二進制值)無法直接轉為字串讀取,需特定處理方式。

讀取 REG_MULTI_SZ:安裝來源路徑

// 註冊表鍵值為字串陣列
string[] key = (string[])Registry.LocalMachine.OpenSubKey(
    @"SOFTWARE\Microsoft\Windows\CurrentVersion\Setup")
    .GetValue("Installation Sources");

// 取得第一個路徑
string installPath = key.GetValue(0).ToString();

讀取 REG_BINARY:DirectX 版本

byte[] array = (byte[])Registry.LocalMachine.OpenSubKey(
    @"SOFTWARE\Microsoft\DirectX")
    .GetValue("InstalledVersion");

string sDirectX = "DirectX ";
for (int i = 0; i < array.Length; i++)
{
    if (array[i] != 0)
        sDirectX += array[i].ToString();
}

// 補充版本字串
string sVer = Registry.LocalMachine.OpenSubKey(
    @"SOFTWARE\Microsoft\DirectX")
    .GetValue("Version").ToString();
sDirectX += " (" + sVer + ")";

關鍵說明

  • 多重字串:`GetValue` 返回 `string[]`,不可直接 `ToString()`。
  • 二進制值:返回 `byte[]`,需遍歷非零位元組組合版本號。
  • 路徑分隔符:註冊表路徑使用雙反斜線 `\\` 或原字串 `@""`。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved