如何使用 C# 获取设备 UUID

how to get Device UUID using C#

我想使用 C# 获取设备 UUID。我需要的 ID 可以使用 wmic csproduct get uuid cmd 命令获取。我尝试在 C# cmd 进程中 运行 这个命令,但它没有给出唯一的 UUID 作为输出。它提供所有 cmd 文本作为输出。那么,我如何在 C# 中获取设备 UUID。我使用 .net 框架 4.7.2.

您可以应用正则表达式来过滤 wmic 的输出:

private string GetUuid()
{
    try
    {
        var proc = Process.Start(new ProcessStartInfo
        {
            FileName = "wmic.exe",
            Arguments = "csproduct get uuid",
            RedirectStandardOutput = true
        });
        if (proc != null)
        {
            string output = proc.StandardOutput.ReadToEnd();
            // Search for UUID string
            var match = System.Text.RegularExpressions.Regex.Match(output, @"[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}");
            if (match.Success) { return match.Value; }
        }
    }
    catch { }  // Your exception handling
    return null;  // Or string.Empty
}