Что нового

Получение ProductKey Windows и Office

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
k790 [?]
У меня xp sp3 Home Edition. фигня - цифры, буквы реже, но из них никак не получается ключ для windows.
А vbs на этой системе показывает ключ нормально?


Добавлено:
Сообщение автоматически объединено:

madmasles [?]
проверка размерности здесь лишняя
Мне кажется лишняя здесь проверка @error :smile:

Мне сложно представить случай
Если есть сомнения, то лучше предохраниться, оно не навредит ;)
Позже проверю есть или нет (такой случай).
 
Автор
K

k790

Новичок
Сообщения
239
Репутация
1
CreatoR [?]
А vbs на этой системе показывает ключ нормально?

да, и vbs и твой код и другие коды, кроме единственного:
Код:
#include <Array.au3>

$WshShell = ObjCreate('WScript.Shell')

$strDigitalProductId = 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId'
$strXPKey = $WshShell.RegRead($strDigitalProductId)
_ArrayDisplay($strXPKey, 'VBS')
;здесь в массиве Dec значения каждого байта
;для расшифровки нужны только элементы массива 52-66
;выковыриваем их:
$b_Key = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'DigitalProductId')
ConsoleWrite('1. ' & $b_Key & @LF)
$b_Key = BinaryMid($b_Key, 53, 15)
ConsoleWrite('2. ' & $b_Key & @LF)
$b_Key = Hex($b_Key)
ConsoleWrite('3. ' & $b_Key & @LF)
;преобразуем в массив
$a_rpk = StringRegExp($b_Key, '.{2}', 3)
_ArrayDisplay($a_rpk, 'HEX - AutoIt')
Dim $aTemp[16][2] = [['VBS', 'AutoIt']]
For $i = 0 To 14
    $aTemp[$i + 1][0] = $strXPKey[$i + 52]
    $aTemp[$i + 1][1] = Dec($a_rpk[$i])
Next
_ArrayDisplay($aTemp, 'Итог')
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
k790 [?]
да, и vbs и твой код и другие коды, кроме единственного:
А Вы не обратили внимание, что я в этом посте отвечаю на вопрос CreatoR`a.

CreatoR [?]
то лучше предохраниться, оно не навредит
Согласен.
OffTopic:
Звучит как совет многодетного отца молодожену. ;D
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
[?]
Позже проверю есть или нет (такой случай).
Проверил, вроде нет, но в любом случае надёжнее будет проверять размерность.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
CreatoR [?]
Мне кажется лишняя здесь проверка @error
Вы правы, проверка на @error не нужна, а на размерность должна быть на тот случай, если RegRead() не отработала нормально.
 
Верх