Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 101
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

2000 / 2003 / XP / Vista Installationsschlüssel auslesen


Autor: Volker Steitz
Sprache: VB.NET
Bewertung:
8.94 (17 votes)
Anzahl der Aufrufe: 8504
  
Kick it on dotnet-kicks.de  

Beschreibung:

Dieses Snippet liest den Produkt-Installationsschlüssel (Schlüssel auf dem Echtheitszertifikat) und die Seriennummer aus.

Der Schlüssel wird als Listview Item zurückgegeben und kann somit direkt in ein Listview-Steuerelement eingetragen werden.


Abgelegt unter: PID, Seriennummer, Key.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Public Function sGetXPKey() As ListViewItem
        
        'Registry öffnen und Wert auslesen (byte array) 
        Dim RegKey As RegistryKey = _
        Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows NT\CurrentVersion", False)
        Dim bytDPID() As Byte = RegKey.GetValue("DigitalProductID")
        'Nur die benötigten Teile ins Array laden
        ' Key beginnt ab byte 52 und ist 15 Bytes lang.
        Dim bytKey(14) As Byte '0-14 = 15 bytes
        Array.Copy(bytDPID, 52, bytKey, 0, 15)
        'Unser "Array" beinhaltet nun  gültige Zeichen
        Dim strChar As String = "BCDFGHJKMPQRTVWXY2346789"
        'jetzt muss der decodierte Schlüssel zurückgegeben werden
        Dim strKey As String = ""
              
        For j As Integer = 0 To 24
            Dim nCur As Short = 0
            For i As Integer = 14 To 0 Step -1
                nCur = CShort(nCur * 256 Xor bytKey(i))
                bytKey(i) = CByte(Int(nCur / 24))
                nCur = CShort(nCur Mod 24)
            Next
            strKey = strChar.Substring(nCur, 1) & strKey
        Next
        'nun muss das Ganze in einen String eingestzt werden.
        For i As Integer = 4 To 1 Step -1
            strKey = strKey.Insert(i * 5, "-")
        Next


        Dim strPName As String = RegKey.GetValue("ProductName")
        Dim strPID As String = RegKey.GetValue("ProductID")

        Dim lvi As New ListViewItem
        lvi.Text = strPName

        Try
            lvi.SubItems.Add(strKey)
        Catch ex As Exception
            lvi.SubItems.Add("n.a.")
        End Try


        Try
            lvi.SubItems.Add(strPID)
        Catch ex As Exception
            lvi.SubItems.Add("n.a.")
        End Try

        RegKey.Close()
        Return lvi
    End Function
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Heinz-Peter Dettmar schrieb am:  29.12.2006 17:18:32

läuft prima, kann mit dem Progamm auf USB Stick Lizenzen auf lokalen Systemen prüfen. Habe auf Nachfrage ein Programm erhalten was auch MS Applikationsschlüssel, auch remote auslesen kann.

Vielen Dank auch dafür :-)


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.