Wie erhalte ich eine eindeutige Kennung für einen Computer, auf dem Windows 8 in C # ausgeführt wird?

7

Ich arbeite an einer Metro-App, die in C # geschrieben wurde und brauche eine Möglichkeit, ein Gerät eindeutig zu identifizieren. Ich fand die ASHWID in der Dokumentation, die gut aussieht. Der vorgeschlagene Code lautet wie folgt:

%Vor%

Das Problem ist, wie mache ich diesen IBuffer in eine Zeichenfolge, die ich verwenden kann?

    
StarlitSkies 21.09.2012, 09:50
quelle

4 Antworten

12

Nach vielen Jagen durch Vorschläge, die eigentlich in JS oder C ++ waren, habe ich endlich eine Antwort gefunden!

%Vor%

Danke, gehen Sie zu diesem Blog - Ссылка

    
StarlitSkies 21.09.2012, 09:50
quelle
4

Das sollte auch funktionieren, aber ich habe kein Windows 8 zum Testen mit ...

%Vor%

Und wenn Sie es mehr als einmal aufrufen, möchten Sie es vielleicht in einem Lazy<T>

speichern %Vor%

Oder machen Sie es einfach statisch, wenn Sie wissen, dass es immer aufgerufen wird:

%Vor%     
Chris Gessler 21.09.2012 10:02
quelle
3

Sie können HardwareIdentification.GetPackageSpecificToken(null) verwenden, siehe Ссылка

Diese Funktion gibt Ihnen viele Informationen, die Sie filtern können, wie Sie möchten. Zum Beispiel:

%Vor%

Beachten Sie jedoch, dass diese Funktion und die zugrunde liegende API keine absolute Eindeutigkeit für alle mit dem Internet verbundenen Computer garantieren können. Sie würden dies normalerweise mit Informationen über den Benutzer kombinieren.

Eine weitere Option besteht darin, eine GUID im lokalen (nicht-servergespeicherten) Speicher zu generieren und zu speichern und diese als Ihre Rechner-ID zu verwenden. Abhängig von Ihren genauen Bedürfnissen kann dies eine bessere Lösung sein.

    
Kris Vandermotten 30.09.2014 08:38
quelle
0

Für eine GUID-ID können Sie als Erweiterung der obigen Antwort Folgendes tun:

%Vor%     
Clinton Ward 06.02.2015 08:12
quelle