Mijn vraag
Ik heb een excel document gemaakt wat gebruikt gaat worden als een Pc Fiche. Via VBA leest hij vanzelf de licentie´s, computernaam, serie nummer enzoverder uit. Alleen krijg ik een foutmelding bij het uitlezen van een Windows 10 licentie. BV bij windows 8.1 werkt dit wel gewoon. (Foutmelding:Kan registersleutel niet openen om deze te lezen.)
Script dat ik gebruik:
Function ConvertToKey(Key)
Const KeyOffset = 52
i = 28
Chars = "BCDFGHJKMPQRTVWXY2346789"
Do
Cur = 0
x = 14
Do
Cur = Cur * 256
Cur = Key(x + KeyOffset) + Cur
Key(x + KeyOffset) = (Cur \ 24) And 255
Cur = Cur Mod 24
x = x - 1
Loop While x >= 0
i = i - 1
KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput
If (((29 - i) Mod 6) = 0) And (i <> -1) Then
i = i - 1
KeyOutput = "-" & KeyOutput
End If
Loop While i >= 0
ConvertToKey = KeyOutput
End Function
Public Sub WindowsLicentie()
Set WshShell = CreateObject("WScript.Shell")
Dim ProductID
ProductID = ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))
Cells(11, 2) = ProductID
End Sub
Relevante software en hardware die ik gebruik
Microsoft Office 2013 (Excel)
Wat ik al gevonden of geprobeerd heb
Volgens Microsoft klopt het vba script. Dus ik weet niet goed wat ik nog kan proberen.
Ik heb een excel document gemaakt wat gebruikt gaat worden als een Pc Fiche. Via VBA leest hij vanzelf de licentie´s, computernaam, serie nummer enzoverder uit. Alleen krijg ik een foutmelding bij het uitlezen van een Windows 10 licentie. BV bij windows 8.1 werkt dit wel gewoon. (Foutmelding:Kan registersleutel niet openen om deze te lezen.)
Script dat ik gebruik:
Function ConvertToKey(Key)
Const KeyOffset = 52
i = 28
Chars = "BCDFGHJKMPQRTVWXY2346789"
Do
Cur = 0
x = 14
Do
Cur = Cur * 256
Cur = Key(x + KeyOffset) + Cur
Key(x + KeyOffset) = (Cur \ 24) And 255
Cur = Cur Mod 24
x = x - 1
Loop While x >= 0
i = i - 1
KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput
If (((29 - i) Mod 6) = 0) And (i <> -1) Then
i = i - 1
KeyOutput = "-" & KeyOutput
End If
Loop While i >= 0
ConvertToKey = KeyOutput
End Function
Public Sub WindowsLicentie()
Set WshShell = CreateObject("WScript.Shell")
Dim ProductID
ProductID = ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))
Cells(11, 2) = ProductID
End Sub
Relevante software en hardware die ik gebruik
Microsoft Office 2013 (Excel)
Wat ik al gevonden of geprobeerd heb
Volgens Microsoft klopt het vba script. Dus ik weet niet goed wat ik nog kan proberen.