none
wpf获取设备的唯一标识 RRS feed

答案

  • 你好,

    首先要明确“唯一标识”指的信息,一台PC本身并没有这个“唯一标识”。但是PCCPUID,网卡的MAC地址,硬盘的ID等等。这些都是唯一的。我们可以选择这些内容之一作为PC的“唯一标识”。并且推荐你使用MAC地址作为唯一标识。这里我给一些代码关于获取网卡MAC地址,参考:PhysicalAddress Class

    public static void ShowNetworkInterfaces()
    {
        IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
        NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
        Console.WriteLine("Interface information for {0}.{1}     ",
                computerProperties.HostName, computerProperties.DomainName);
        if (nics == null || nics.Length < 1)
        {
            Console.WriteLine("  No network interfaces found.");
            return;
        }
    
        Console.WriteLine("  Number of interfaces .................... : {0}", nics.Length);
        foreach (NetworkInterface adapter in nics)
        {
            IPInterfaceProperties properties = adapter.GetIPProperties(); //  .GetIPInterfaceProperties();
            Console.WriteLine();
            Console.WriteLine(adapter.Description);
            Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length,'='));
            Console.WriteLine("  Interface type .......................... : {0}", adapter.NetworkInterfaceType);
            Console.Write("  Physical address ........................ : ");
            PhysicalAddress address = adapter.GetPhysicalAddress();
            byte[] bytes = address.GetAddressBytes();
            for(int i = 0; i< bytes.Length; i++)
            {
                // Display the physical address in hexadecimal.
                Console.Write("{0}", bytes[i].ToString("X2"));
                // Insert a hyphen after each byte, unless we are at the end of the  
                // address. 
                if (i != bytes.Length -1)
                {
                     Console.Write("-");
                }
            }
            Console.WriteLine();
        }
    }

    上述代码会列出PC上所有网卡的MAC地址,例如虚拟网卡,无线网卡等。

    如果PAD是基于Windows系统,并且安装有.NET Framework,也可以通过上述方式获取MAC地址。

    参考信息:

    Is there really any way to uniquely identify any computer at all

    Get unique machine id

    谢谢!


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 skczjun 2014年6月12日 0:36
    2014年6月11日 1:40
    版主