Modificar .vbs

Iniciado por Skim0, 31 Mayo 2017, 22:34 PM

0 Miembros y 1 Visitante están viendo este tema.

Skim0

Hola buenas,

Necesitaba hacer que este .vbs me creara el txt si preguntar, no tengo ni idea de .vbs. Intente modificar un par de cosas pero me da errores. El .vbs sirve para obtener el cd-key de windows.  Espero que me podais ayudar. Muchas gracias.


Código (vb) [Seleccionar]
Set WshShell = CreateObject("WScript.Shell")
Key = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
DigitalID = WshShell.RegRead(key & "DigitalProductId")

ProductName = "Product Name: " & WshShell.RegRead(Key & "ProductName") & vbNewLine
ProductID = "Product ID: " & WshShell.RegRead(Key & "ProductID") & vbNewLine
ProductKey = "Installed Key: " & ConvertToKey(DigitalID)
ProductID = ProductName & ProductID & ProductKey

If vbYes = MsgBox(ProductId & vblf & vblf & "Save to a file?", vbYesNo + vbQuestion, "Windows Key Information") then
  Save ProductID
End if

Function ConvertToKey(Key)
   Const KeyOffset = 52
   isWin8 = (Key(66) \ 6) And 1
   Key(66) = (Key(66) And &HF7) Or ((isWin8 And 2) * 4)
   i = 24
   Chars = "BCDFGHJKMPQRTVWXY2346789"
   Do
       Cur = 0
       X = 14
       Do
           Cur = Cur * 256
           Cur = Key(X + KeyOffset) + Cur
           Key(X + KeyOffset) = (Cur \ 24)
           Cur = Cur Mod 24
           X = X -1
       Loop While X >= 0
       i = i -1
       KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput
       Last = Cur
   Loop While i >= 0
   If (isWin8 = 1) Then
       keypart1 = Mid(KeyOutput, 2, Last)
       insert = "N"
       KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
       If Last = 0 Then KeyOutput = insert & KeyOutput
   End If
   a = Mid(KeyOutput, 1, 5)
   b = Mid(KeyOutput, 6, 5)
   c = Mid(KeyOutput, 11, 5)
   d = Mid(KeyOutput, 16, 5)
   e = Mid(KeyOutput, 21, 5)
   ConvertToKey = a & "-" & b & "-" & c & "-" & d & "-" & e
End Function

Function Save(Data)
   Const ForWRITING = 2
   Const asASCII = 0
   Dim fso, f, fName, ts
   fName = "Windows Key.txt"
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.CreateTextFile fName
   Set f = fso.GetFile(fName)
   Set f = f.OpenAsTextStream(ForWRITING, asASCII)
   f.Writeline Data
   f.Close
End Function


FurioMoltisanti

Que es lo que has intentado? Pon lo que has modificado aunque contenga errores.

tincopasan

en teoría deberías editar:
Código (vb) [Seleccionar]

If vbYes = MsgBox(ProductId & vblf & vblf & "Save to a file?", vbYesNo + vbQuestion, "Windows Key Information") then
   Save ProductID
End if


por:
Código (vb) [Seleccionar]

Save ProductID

Skim0

Muchas gracias tincopasan, me ha funcionando perfectamente asi.  Gracias de nuevo.