Helomotorola Posted September 3, 2007 Share Posted September 3, 2007 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 Link to comment Share on other sites More sharing options...
herewasplato Posted September 3, 2007 Share Posted September 3, 2007 http://www.autoitscript.com/forum/index.ph...;showtopic=1506thenhttp://www.autoitscript.com/forum/index.ph...st&p=143874 if you want office keys as well.-MSP- [size="1"][font="Arial"].[u].[/u][/font][/size] Link to comment Share on other sites More sharing options...
Helomotorola Posted September 3, 2007 Author Share Posted September 3, 2007 Wow! good NICE! Would you might write a autoit code to set a Windows XP CD Key (opposite) Thanks you! Link to comment Share on other sites More sharing options...
herewasplato Posted September 4, 2007 Share Posted September 4, 2007 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] Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now