आप HardwareIdentification.GetPackageSpecificToken(null)
उपयोग कर सकते हैं, को देखने के http://msdn.microsoft.com/en-us/library/windows/apps/jj553431.aspx
कि समारोह आप जानकारी का एक बहुत कुछ देता है, आप जितने चाहें फ़िल्टर कर सकते हैं कि। उदाहरण के लिए:
public static string GetMachineId()
{
var hardwareToken =
HardwareIdentification.GetPackageSpecificToken(null).Id.ToArray();
var count = hardwareToken.Length/4;
ulong id = 0ul;
for (int i = 0; i < count; i++)
{
switch (BitConverter.ToUInt16(hardwareToken, i * 4))
{
case 1:
// processor
case 2:
// memory
case 9:
// system BIOS
id = (id << 12)^BitConverter.ToUInt16(hardwareToken, i * 4 + 2);
break;
}
}
return Convert.ToBase64String(BitConverter.GetBytes(id));
}
हालांकि, ध्यान रखें कि इस समारोह, और अंतर्निहित एपीआई, सभी इंटरनेट से जुड़ा हुआ मशीनों के लिए पूर्ण विशिष्टता गारंटी नहीं दे सकते में भालू। आप आमतौर पर उपयोगकर्ता के बारे में जानकारी के साथ गठबंधन करेंगे।
एक और विकल्प स्थानीय (गैर रोमिंग) भंडारण में एक GUID उत्पन्न और स्टोर करना है, और इसे अपनी मशीन आईडी के रूप में उपयोग करना है। आपको सटीक जरूरतों के आधार पर, यह एक बेहतर समाधान हो सकता है।
स्रोत
2014-09-30 08:38:07
उद्धरण: 'हालांकि, ASHWID परिवर्तन करता है, तो इस तरह के जब उपयोगकर्ता एक unplugs के रूप में डिवाइस परिवर्तन, के हार्डवेयर प्रोफ़ाइल यूएसबी ब्लूटूथ एडाप्टर'। http://msdn.microsoft.com/en-us/library/windows/apps/jj553431.aspx –
मैंने नोटिस किया कि, लेकिन यह विंडोज 8 में उपलब्ध सर्वोत्तम विकल्प के बारे में प्रतीत होता है। हमारे उपयोगों के लिए यह भी पर्याप्त होगा अगर यह उतना अच्छा नहीं है जितना हम उपयोग करते हैं! :) – StarlitSkies