I wanted a way to get my windows 7 cd key so I could do a fresh install. The problem with existing scripts they pop up to a message box. I have modified them so this one will put the key in a handy text file in c:\windowskey.txt and the popup box. The best of both worlds.
Comments
Set WshShell = CreateObject("WScript.Shell")
MsgBox ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))
WriteFile(ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId")))
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
Function WriteFile(Key)
Set objFSO=CreateObject("Scripting.FileSystemObject")
' File Location.
outFile="c:\windowskey.txt"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write key & vbCrLf
objFile.Close
End Function