Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 39
Благодарности: 3

Профиль | Отправить PM | Цитировать


Помогите пожалуста!!!

Мне надо использовать несколько готовых заготовк написаных на VBS. По вот этому примеру получилось:
Код: Выделить весь код
 
$id_W=RegRead ("HKLM\SOFTWARE\Microsoft\Internet Explorer\Registration","DigitalProductId")

MsgBox(0,"", _GetKeyVBS($id_W))

Func _GetKeyVBS($key) 

Local $Code = ""
$Code &= 'Function GetKey(rpk)' & @LF
$Code &= 'Const rpkOffset=52' & @LF
$Code &= 'i=28' & @LF
$Code &= 'szPossibleChars="BCDFGHJKMPQRTVWXY2346789"' & @LF
$Code &= 'Do ' & @LF
$Code &= 'dwAccumulator=0 ' & @LF
$Code &= 'j=14' & @LF
$Code &= 'Do ' & @LF
$Code &= 'dwAccumulator=dwAccumulator*256 ' & @LF
$Code &= 'dwAccumulator=rpk(j+rpkOffset)+dwAccumulator' & @LF
$Code &= 'rpk(j+rpkOffset)=(dwAccumulator\24) and 255 ' & @LF
$Code &= 'dwAccumulator=dwAccumulator Mod 24' & @LF
$Code &= 'j=j-1' & @LF
$Code &= 'Loop While j>=0' & @LF
$Code &= 'i=i-1 ' & @LF
$Code &= 'szProductKey=mid(szPossibleChars,dwAccumulator+1,1 )&szProductKey' & @LF
$Code &= 'if (((29-i) Mod 6)=0) and (i<>-1) then ' & @LF
$Code &= 'i=i-1 ' & @LF
$Code &= 'szProductKey="-"&szProductKey' & @LF
$Code &= 'End If' & @LF
$Code &= 'Loop While i>=0' & @LF
$Code &= 'GetKey=szProductKey' & @LF
$Code &= 'End Function' 
MsgBox(0,'', $Code)

Local $VbsObj = ObjCreate("ScriptControl")
If @error Then Return SetError(1, 0, -1) 

$VbsObj.Language = "vbscript"
$VbsObj.AddCode($Code)
Local $Ret = $VbsObj.Run("GetKey ",$key)
If $Ret = 0 Then Return SetError(0, 0, 0)
Return $Ret

EndFunc
но выдет ошибку:
Код: Выделить весь код
D:\auto_it\office.au3 (48) : ==> The requested action with this object has failed.:
$VbsObj.Run("GetKey ","")
$VbsObj.Run("GetKey ","")^ ERROR

Отправлено: 14:09, 29-07-2008 | #753