WPF 获得本机电脑部分信息
这里提供一个通用方法查询自己电脑部分信息。
同时最后一个方法提供了在注册表查询自己电脑信息的写法。
/// <summary>
/// 查找本机信息
/// </summary>
/// <param name="selectSentence">查询语句</param>
/// <param name="targetAttribute">目标属性</param>
private static string SelectSystemInfo(string selectSentence, string targetAttribute)
{
try
{
using var searcher = new ManagementObjectSearcher(selectSentence);
foreach (ManagementObject obj in searcher.Get().Cast<ManagementObject>())
{
return obj[targetAttribute].ToString();
}
return string.Empty;
}
catch (Exception ex)
{
Log.Error($"查找出现错误,参数:{selectSentence},{targetAttribute} 错误:{ex}");
return string.Empty;
}
}
// 获得Cpu型号
public static string GetCpuModel()
{
return SelectSystemInfo("select Name from Win32_Processor", "Name");
}
// 获得Bios版本
public static string GetBIOSVersion()
{
return SelectSystemInfo("SELECT * FROM Win32_BIOS", "SMBIOSBIOSVersion");
}
// 获得Window版本
public static string GetWindowVersion()
{
string windowVision = "";
using var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion");
if (key != null)
{
windowVision += key.GetValue("ProductName")?.ToString() + " ";
windowVision += key.GetValue("DisplayVersion")?.ToString() + " ";
windowVision += key.GetValue("CurrentBuild")?.ToString() + " ";
}
return windowVision;
}

浙公网安备 33010602011771号