Wenn ich herausfinden wollte, ob ein Benutzer eine echte Kopie von Windows hatte, wie konnte ich das in C # tun? Kann ich mich mit Windows Genuine Advantage integrieren?
Als ich diese Frage beantwortet habe, habe ich im Zusammenhang mit der Sprache des Fragestellers (C #) geantwortet. Wie ein anderer Antworter darauf hingewiesen hat, gibt es eine Möglichkeit, dies in anderen Sprachen zu tun, aber es ist plattformabhängig (Vista und darüber, von dem, was ich sehen kann).
Soweit ich weiß, gibt es keine API-Dokumentation für WGA (immer noch wahr), und da Hacker WGA möglicherweise durch Kenntnis seiner Interna verstehen (und haben), bezweifle ich, dass Microsoft eine API für WGA eröffnen wird .
Microsoft hat eine separate API für C ++ - und COM-Entwicklung als diese Antwort weist darauf hin, aber in .NET Framework ist nichts verfügbar, was ich sehen kann.
Realistisch gesehen gibt es keinen guten Grund, dies herauszufinden. Es ist nicht Aufgabe des Programms zu wissen, ob das Betriebssystem legal installiert ist.
Ich lasse meine Antwort, weil ich sie nicht löschen kann; Wenn Sie jedoch Win32 API
verwenden möchten und nicht im .NET Framework bleiben müssen, empfehle ich die Verwendung von diese Antwort .
Sie können SLIsGenuineLocal verwenden (Überprüft, ob die angegebene Anwendung vorhanden ist eine echte Windows-Installation), ist der Minimal unterstützte Client Windows Vista.
Die Software-Lizenzierungs-API , die Software-Lizenzierungs-API (SLAPI) kann verwendet werden, um eine echte Microsoft Windows-Installation festzustellen, eine Asset Management-Lizenz zu installieren und zu protokollieren und Informationen über die Lizenzierungsrichtlinie einer Softwarekomponente abzurufen.
UPDATE , ich habe diese grundlegende C # -Implementierung geschrieben
%Vor%