2012-03-27 5 views
0

の一意のID(指紋)を生成します。私はこれをcodeと使います。私は私のWinFormアプリケーションのC#の問題のほとんどは、仮想マシンから来</p> <p>とPCのためのユニークなIDを生成する必要がありながら、私はthrouble抱えているPCの.Net

私がCPUIDコードをコメントしても、毎回仮想マシン(VirtualBox)を再起動するたびに変更されます。

バーチャルマシンも使用できると考えて、どのように独自の指紋をとることができますか?

おかげ

+0

なぜありませんMACアドレスを使用しますか? http://stackoverflow.com/questions/9544018/get-mac-address-of-computerを参照してください。 – Diego

答えて

0

は、このソリューションは、いくつかの潜在的な注意点がありますが、MACアドレスやHDDのシリアル番号のいずれかを使用することができ、またはその両方:

ここでMACアドレスを取得するためのコードです:

/// <summary> 
/// returns the mac address of the first operation nic found. 
/// </summary> 
/// <returns></returns> 
private string GetMacAddress() 
{ 
    string macAddresses = ""; 

    foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()) 
    { 
     if (nic.OperationalStatus == OperationalStatus.Up) 
     { 
      macAddresses += nic.GetPhysicalAddress().ToString(); 
      break; 
     } 
    } 
    return macAddresses; 
} 

はここでHDDのシリアル番号を取得するコードです:

using System.Management; 

public string GetHDDSerial() 
{ 
    ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");  
    ManagementObjectCollection managementObjects = searcher.Get(); 

    foreach (ManagementObject obj in managementObjects) 
    { 
     if (obj["SerialNumber"] != null) 
      return obj["SerialNumber"].ToString(); 
    } 

    return string.Empty; 
} 
関連する問題