Windows 7 Aktivierung

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    singu schrieb:

    Das wirst du wohl nicht schaffen, weil es an vielen Stellen gespeichert wird, ob Windows aktiviert wurde oder nicht
    Das wäre doch egal, er will es doch nur auslesen und nicht manipulieren?

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ SoftwareProtectionPlatform
    Bringt nichts - es sind zwar Informationen dazu verfügbar, aber helfen nicht weiter.


    Du kannst WMI nutzen, auf "Win32_WindowsProductActivation" zugreifen und den Wert "ActivationRequired" auslesen. Benötigt logischerweise System.Management.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Dennis Alexander“ ()

    Hallo zusammen,

    ich weiß, der Thread ist schon alt, aber auch ich habe mich mit diesem Thema beschäftigt und habe noch eine nützliche Information, die dem ein oder anderen vielleicht helfen kann:

    Die Klasse "Win32_WindowsProductActivation" ist in Windows 7 offensichtlich nicht vorhanden. Bei XP und Server 2003 funktioniert sie hingegen problemlos. Die Beschreibung dieser Klasse auf MSDN bestätigt dies:

    Minimum supported client: Windows XP
    Minimum supported server: Windows Server 2003
    End of client support: Windows XP
    End of server support: Windows Server 2003 R2

    Wer unter Windows 7 die Aktivierung von Windows 7 testen möchte, muss die "SoftwareLicensingProduct" Klasse (ohne Win32 o.ä. vorweg) verwenden. In dieser Klasse ist der "LicenseStatus" vorhanden. Zusätzlich empfehle ich, da teils mehrere Editionen gelistet sein können, das Ergebnis auf das Vorhandensein des "PartialProductKey" zu filtern.

    Eine Abfrage dieses Wertes könnte so aussehen:

    VB.NET-Quellcode

    1. Dim searcher As New ManagementObjectSearcher("root\CIMV2", "SELECT LicenseStatus FROM SoftwareLicensingStatus WHERE PartialProductKey > ''")

    Wenn bei einer entsprechenden Anwendung Windows XP und Windows 7 unterstützt werden sollen, muss man zusätzlich nach dem OS filtern, da die "SoftwareLicensingProduct" Klasse erst ab Windows 7 verfügbar ist.

    EDIT: Typo gefixt. :)
    @Th3RaZe Der Thread ist von 2011.

    => Thema geschlossen.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: