Jump to content
Sign in to follow this  

Please Help me Convert VB6 to Autoit

Recommended Posts

I have a VB6 code, I want convert to Autoit code, Please help me! Thanks


Option Explicit

Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

Private Const REG_BINARY = 3

Private Const HKEY_LOCAL_MACHINE = &H80000002

Private Const ERROR_SUCCESS = 0&

Public Function sGetXPCDKey() As String


' entVersion\DigitalProductId

Dim bDigitalProductID() As Byte

Dim bProductKey() As Byte

Dim ilByte As Long

Dim lDataLen As Long

Dim hKey As Long


lDataLen = 164

ReDim Preserve bDigitalProductID(lDataLen)

If RegQueryValueEx(hKey, "DigitalProductId", 0&, REG_BINARY, bDigitalProductID(0), lDataLen) = ERROR_SUCCESS Then

ReDim Preserve bProductKey(14)

For ilByte = 52 To 66

bProductKey(ilByte - 52) = bDigitalProductID(ilByte)

Next ilByte


sGetXPCDKey = ""

Exit Function

End If


' CROSOFT\Windows NT\CurrentVersion"

sGetXPCDKey = ""

Exit Function

End If

Dim bKeyChars(0 To 24) As Byte

'Giai ma CD key :

bKeyChars(0) = Asc("B")

bKeyChars(1) = Asc("C")

bKeyChars(2) = Asc("D")

bKeyChars(3) = Asc("F")

bKeyChars(4) = Asc("G")

bKeyChars(5) = Asc("H")

bKeyChars(6) = Asc("J")

bKeyChars(7) = Asc("K")

bKeyChars(8) = Asc("M")

bKeyChars(9) = Asc("P")

bKeyChars(10) = Asc("Q")

bKeyChars(11) = Asc("R")

bKeyChars(12) = Asc("T")

bKeyChars(13) = Asc("V")

bKeyChars(14) = Asc("W")

bKeyChars(15) = Asc("X")

bKeyChars(16) = Asc("Y")

bKeyChars(17) = Asc("2")

bKeyChars(18) = Asc("3")

bKeyChars(19) = Asc("4")

bKeyChars(20) = Asc("6")

bKeyChars(21) = Asc("7")

bKeyChars(22) = Asc("8")

bKeyChars(23) = Asc("9")

Dim nCur As Integer

Dim sCDKey As String

Dim ilKeyByte As Long

Dim ilBit As Long

For ilByte = 24 To 0 Step -1

nCur = 0

For ilKeyByte = 14 To 0 Step -1

nCur = nCur * 256 Xor bProductKey(ilKeyByte)

bProductKey(ilKeyByte) = Int(nCur / 24)

nCur = nCur Mod 24

Next ilKeyByte

sCDKey = Chr(bKeyChars(nCur)) & sCDKey

If ilByte Mod 5 = 0 And ilByte <> 0 Then sCDKey = "-" & sCDKey

Next ilByte

sGetXPCDKey = sCDKey

End Function

Private Sub Command1_Click()

MsgBox sGetXPCDKey

End Sub

Share this post

Link to post
Share on other sites

Wow! good NICE!

Would you might write a autoit code to set a Windows XP CD Key (opposite)

Thanks you!

That would take someone smarter than I am. I just used the DecodeProductKey UDF that bcording wrote. I would not know how to reverse it.



Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...