Skip to content

Instantly share code, notes, and snippets.

@roachhd
Created August 7, 2015 14:40
Show Gist options
  • Select an option

  • Save roachhd/62f9f7284ff92dcd9f59 to your computer and use it in GitHub Desktop.

Select an option

Save roachhd/62f9f7284ff92dcd9f59 to your computer and use it in GitHub Desktop.
Find your product key for Windows OS
Set WshShell = CreateObject("WScript.Shell")
MsgBox 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
@paint3d787-lgtm
Copy link
Copy Markdown

Interesting script and clean implementation of the conversion function. It’s always useful to understand how system-level information is handled in Windows using scripting. I usually explore similar automation and creative tools for learning purposes. Simple tools like Paint 3D are also helpful for beginners who want to practice basic digital design and visualization skills.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment