您的位置:首页 > 其它

Get windows product key infromation

2009-01-16 14:14 288 查看
Option Explicit
'-------------------------------------------------------------------------------------
Dim objReg,WshNetwork
Dim Digits (24),HexBuf (100), HexDigitalPID (15)
Dim StartOffset,EndOffset,i,dLen,sLen,KEYSTRING,HN,N,Value
Digits (0) = "B" : Digits (1) = "C": Digits (2) = "D": Digits (3) = "F":
Digits (4) = "G": Digits (5) = "H": Digits (6) = "J": Digits (7) = "K":
Digits (8) = "M": Digits (9) = "P": Digits (10) = "Q": Digits (11) = "R":
Digits (12) = "T": Digits (13) = "V": Digits (14) = "W": Digits (15) = "X":
Digits (16) = "Y": Digits (17) = "2": Digits (18) = "3": Digits (19) = "4":
Digits (20) = "6" : Digits (21) = "7" : Digits (22) = "8": Digits (23) = "9"
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set objReg = GetObject("winmgmts://" & WshNetwork.computername & "/root/default:StdRegProv")
objReg.GetBinaryValue &H80000002, "SOFTWARE/Microsoft/Windows NT/CurrentVersion/", "DigitalProductId", HexBuf
StartOffset = 52 : EndOffset =67
For i = StartOffset to EndOffset
HexDigitalPID (i-StartOffset) = HexBuf(i)
Next
dLen = 29 : sLen = 15
KEYSTRING =""
For i=dLen-1 TO 0 Step -1
IF ((i + 1) MOD 6) = 0 Then
KEYSTRING = KEYSTRING & "-"
Else
HN = 0
For N = (sLen -1) TO 0 Step -1
Value = ( (HN *2^8 ) Or HexDigitalPID (N))
HexDigitalPID (N) = Value / 24
HN = (Value MOD 24)
Next
KEYSTRING = KEYSTRING & Digits(HN)
End IF
Next
Wscript.Echo StrReverse(KEYSTRING)
Wscript.quit
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows c