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?
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 - Ссылка
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>
Oder machen Sie es einfach statisch, wenn Sie wissen, dass es immer aufgerufen wird:
%Vor% 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.
Für eine GUID-ID können Sie als Erweiterung der obigen Antwort Folgendes tun:
%Vor%Tags und Links c# windows-8 windows-store-apps unique-id