Sign in to follow this  
Followers 0
Helomotorola

Please Help me Convert VB6 to Autoit

4 posts in this topic

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

Code:

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

'HKLM\SOFTWARE\MICROSOFT\Windows NT\Curr

' entVersion\DigitalProductId

Dim bDigitalProductID() As Byte

Dim bProductKey() As Byte

Dim ilByte As Long

Dim lDataLen As Long

Dim hKey As Long

If RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\MICROSOFT\Windows NT\CurrentVersion", hKey) = ERROR_SUCCESS Then

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

Else

sGetXPCDKey = ""

Exit Function

End If

Else

' 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!

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.

-MSP-


[size="1"][font="Arial"].[u].[/u][/font][/size]

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  
Followers 0