C#でマザーボードのIDを取得する方法


  1. ManagementObjectを使用する方法:

    using System.Management;
    public string GetMotherboardID()
    {
    string query = "SELECT * FROM Win32_BaseBoard";
    ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
    ManagementObjectCollection collection = searcher.Get();
    foreach (ManagementObject obj in collection)
    {
        return obj["SerialNumber"].ToString();
    }
    return string.Empty;
    }
  2. WMIを使用する方法:

    using System.Management;
    public string GetMotherboardID()
    {
    string query = "SELECT * FROM Win32_BaseBoard";
    ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
    ManagementObjectCollection collection = searcher.Get();
    foreach (ManagementObject obj in collection)
    {
        return obj.Properties["SerialNumber"].Value.ToString();
    }
    return string.Empty;
    }
  3. Registryを使用する方法:

    using Microsoft.Win32;
    public string GetMotherboardID()
    {
    string key = @"HARDWARE\DESCRIPTION\System\BIOS";
    using (RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(key))
    {
        if (registryKey != null)
        {
            return registryKey.GetValue("BaseBoardSerialNumber").ToString();
        }
    }
    return string.Empty;
    }

これらの方法は、マザーボードのシリアル番号を取得する一般的な手法です。必要に応じて、エラーハンドリングや例外処理を追加してください。