Здравствуйте, какой командой можно получить Product Key windows из реестра?
Имеется скрипт на vbs:
Вот хочу его перевести на AutoIt.
Желаю понять как работает, поэтому и пишу в этот раздел.
Где можно найти rpk для autoit ?
Имеется скрипт на vbs:
Код:
Set WshShell = WScript.CreateObject("WScript.Shell")
strDigitalProductId="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"
'strOffXP="HKLM\SOFTWARE\Microsoft\Office\10.0\Registration\{91110419-6000-11D3-8CFE-0050048383C9}\DigitalProductId"
'strOffXP="HKLM\SOFTWARE\Microsoft\Office\10.0\Registration\{90280409-6000-11D3-8CFE-0050048383C9}\DigitalProductId"
'strOffXP="HKLM\SOFTWARE\Microsoft\Office\11.0\Registration\{90170409-6000-11D3-8CFE-0150048383C9}\DigitalProductId"
'strOffXP="HKLM\SOFTWARE\Microsoft\Office\11.0\Registration\{90110419-6000-11D3-8CFE-0150048383C9}\DigitalProductId"
CRLF = Chr(13) & Chr(10)
strXPKey=GetKey(WshShell.RegRead(strDigitalProductId))
MsgBox "WinXP:" & strXPKey
'strOffXPKey=GetKey(WshShell.RegRead(strOffXP))
'CopytoClipboard
set ie=CreateObject("internetExplorer.application")
ie.navigate "about:blank"
do until ie.readystate=4: wscript.sleep 1: loop
ie.document.parentwindow.clipboardData.setData "Text", strXPKey
MsgBox "WinXP:" & strXPKey & chr(13) & "key in clipboard" & CRLF ''''''''''''''''''& "OffXP:" & strOffXPKey
Function GetKey(rpk)
Const rpkOffset=52:i=28
szPossibleChars="BCDFGHJKMPQRTVWXY2346789"
Do 'Rep1
dwAccumulator=0 : j=14
Do
dwAccumulator=dwAccumulator*256
dwAccumulator=rpk(j+rpkOffset)+dwAccumulator
rpk(j+rpkOffset)=(dwAccumulator\24) and 255
dwAccumulator=dwAccumulator Mod 24
j=j-1
Loop While j>=0
i=i-1 : szProductKey=mid(szPossibleChars,dwAccumulator+1,1)&szProductKey
if (((29-i) Mod 6)=0) and (i<>-1) then
i=i-1 : szProductKey="-"&szProductKey
End If
Loop While i>=0 'Goto Rep1
GetKey=szProductKey
End Function
Желаю понять как работает, поэтому и пишу в этот раздел.
Где можно найти rpk для autoit ?