VIP

Registry .reg To AutoIt .au3

11 posts in this topic

#1 ·  Posted (edited)

Regto_AU3.gif

Eg:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Key\#Test]
@="Default Value SZ"
"REG-SZ"="Data String 1234567890"
"REG-BINARY"=hex:37,01,01,01,01,01,01,01,01,01,01,01,01,01,01,21,21,02,10,35,45,\
  41,21,21,05,74,57,40,54,54,16,54,60,49,64,16,08,46,87,40,64,98,47,96,74,64,\
  91,73,81,53,75,82,07,20,15,38,17,32,87,81,30
"REG-NONE"=hex(0):6f,4e,79,b5,cc,8b,50,bb,f4,b7,e2,6d,2e,38,d2,8b,ad,10,0b,03,a6,\
  1b,53,30,6b,b8,8b,92,d6,04,22,c7,55,b9,a5,33,4d,a8,4e,9b,00,00,00,00,00,00,\
  00,00,00,00
"REG-MULTI-SZ"=hex(7):53,00,74,00,72,00,69,00,6e,00,67,00,20,00,6c,00,69,00,6e,00,65,00,\
  20,00,31,00,00,00,53,00,72,00,65,00,69,00,6e,00,67,00,20,00,4c,00,69,00,6e,\
  00,68,00,64,00,66,00,75,00,79,00,20,00,34,00,00,00,00,00
"REG-EXPAND-SZ"=hex(2):25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,44,00,69,00,72,00,\
  25,00,5c,00,41,00,6c,00,6f,00,68,00,61,00,5c,00,4b,00,61,00,6b,00,61,00,00,\
  00

"REG-DWORD"=dword:99999999
"VarlueNoData"=""

[HKEY_CLASSES_ROOT\KEY\#DEFAULT_REGBINARY]
@=hex:37,01,01,01,01,01,01,01,01,01,01,01,01,01,01,21,21,02,10,35,45,\
  41,21,21,05,74,57,40,54,54,16,54,60,49,64,16,08,46,87,40,64,98,47,96,74,64,\
  91,73,81,53,75,82,07,20,15,38,17,32,87,81,30

[HKEY_CLASSES_ROOT\KEY\#DEFAULT_REGMULTISZ]
@=hex(7):53,00,74,00,72,00,69,00,6e,00,67,00,20,00,6c,00,69,00,6e,00,65,00,\
  20,00,31,00,00,00,53,00,72,00,65,00,69,00,6e,00,67,00,20,00,4c,00,69,00,6e,\
  00,68,00,64,00,66,00,75,00,79,00,20,00,34,00,00,00,00,00

[HKEY_CLASSES_ROOT\KEY\#DEFAULT_REGEXPANDSZ]
@=hex(2):25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,44,00,69,00,72,00,\
  25,00,5c,00,41,00,6c,00,6f,00,68,00,61,00,5c,00,4b,00,61,00,6b,00,61,00,00,\
  00

[HKEY_CLASSES_ROOT\KEY\#DEFAULT_REGNONE]
@=hex(0):6f,4e,79,b5,cc,8b,50,bb,f4,b7,e2,6d,2e,38,d2,8b,ad,10,0b,03,a6,\
  1b,53,30,6b,b8,8b,92,d6,04,22,c7,55,b9,a5,33,4d,a8,4e,9b,00,00,00,00,00,00,\
  00,00,00,00

[HKEY_CURRENT_CONFIG\KEY\#DEFAULT_DWORD]
@=dword:00000000
"REG-DWORD"=dword:00000000

[-HKEY_CURRENT_USER\KEY\#Delete]

[HKEY_CURRENT_CONFIG\KEY\#DeleteValue]
;@=-
"FName"=-
"LName"=-

;Test Comments!
[HKEY_LOCAL_MACHINE\Key\#TestValue]
"Serial"="-"
@=""
RegWrite("HKEY_CURRENT_USER\Key\#Test", "", "REG_SZ", "Default Value SZ")
RegWrite("HKEY_CURRENT_USER\Key\#Test", "REG-SZ", "REG_SZ", "Data String 1234567890")
RegWrite("HKEY_CURRENT_USER\Key\#Test", "REG-BINARY", "REG_BINARY", Binary("0x37010101010101010101010101010121210210354541212105745740545416546049641608468740649847967464917381537582072015381732878130"))
;RegWrite("HKEY_CURRENT_USER\Key\#Test", "REG-NONE", "REG_NONE", "6f4e79b5cc8b50bbf4b7e26d2e38d28bad100b03a61b53306bb88b92d60422c755b9a5334da84e9b00000000000000000000")
RegWrite("HKEY_CURRENT_USER\Key\#Test", "REG-MULTI-SZ", "REG_MULTI_SZ", "String line 1" & @LF & "Sreing Linhdfuy 4")
RegWrite("HKEY_CURRENT_USER\Key\#Test", "REG-EXPAND-SZ", "REG_EXPAND_SZ", "%ProgramDir%\Aloha\Kaka")
RegWrite("HKEY_CURRENT_USER\Key\#Test", "REG-DWORD", "REG_DWORD", "-1717986919")
RegWrite("HKEY_CURRENT_USER\Key\#Test", "VarlueNoData", "REG_SZ", "")
RegWrite("HKEY_CLASSES_ROOT\KEY\#DEFAULT_REGBINARY", "", "REG_BINARY", Binary("0x37010101010101010101010101010121210210354541212105745740545416546049641608468740649847967464917381537582072015381732878130"))
RegWrite("HKEY_CLASSES_ROOT\KEY\#DEFAULT_REGMULTISZ", "", "REG_MULTI_SZ", "String line 1" & @LF & "Sreing Linhdfuy 4")
RegWrite("HKEY_CLASSES_ROOT\KEY\#DEFAULT_REGEXPANDSZ", "", "REG_EXPAND_SZ", "%ProgramDir%\Aloha\Kaka")
;RegWrite("HKEY_CLASSES_ROOT\KEY\#DEFAULT_REGNONE", "", "REG_NONE", "6f4e79b5cc8b50bbf4b7e26d2e38d28bad100b03a61b53306bb88b92d60422c755b9a5334da84e9b00000000000000000000")
RegWrite("HKEY_CURRENT_CONFIG\KEY\#DEFAULT_DWORD", "", "REG_DWORD", "0")
RegWrite("HKEY_CURRENT_CONFIG\KEY\#DEFAULT_DWORD", "REG-DWORD", "REG_DWORD", "0")
RegDelete("HKEY_CURRENT_USER\KEY\#Delete")
RegDelete("HKEY_CURRENT_CONFIG\KEY\#DeleteValue", "FName")
RegDelete("HKEY_CURRENT_CONFIG\KEY\#DeleteValue", "LName")
RegWrite("HKEY_LOCAL_MACHINE\Key\#TestValue", "Serial", "REG_SZ", "-")
RegWrite("HKEY_LOCAL_MACHINE\Key\#TestValue", "", "REG_SZ", "")

 

Download: Here or Attach

REGto_AU3.jpg

Code:

[-] REG to AU3

;~ _REGtoAU3(@ScriptDir & "\RegTest.reg")
; * -----:|
Func _REGtoAU3($sFileIN, $sFileOUT = "", $ShortKeys = 0)
    If Not FileExists($sFileIN) Then Return SetError(1, 0, 0)
    If $sFileOUT = "" Or $sFileOUT = Default Or $sFileOUT = -1 Then $sFileOUT = $sFileIN & ".au3"
    If FileGetSize($sFileIN) = 0 Then Return SetError(1, "source-file is empty.", 0)
    Local $hFileIN = FileOpen($sFileIN, 0)
    If $hFileIN = -1 Then Return SetError(2, "Unable to open source-file.", 0)
    Local $hFileOut = FileOpen($sFileOUT, 2 + 8)
    If $hFileOut = -1 Then
        If $hFileIN Then FileClose($hFileIN)
        Return SetError(3, "Unable to open destinaion-file.", 0)
    EndIf
    Local $cLine, $LinesRead = 0, $Step = 0, $EOF = 0, $RegEditV = 0, $Error = 0, $xPos = 0, $ESC = 0, $Write = 0
    Local $REG_Delete = 0, $REG_KEY = "", $REG_ValueName = "", $REG_Type = "", $REG_Value = ""
    While 1
        $cLine = _R2A_ReadLineFile($hFileIN, $EOF)
        $LinesRead = $LinesRead + 1
        Select
            Case $EOF And $cLine = ""
                If $Step = 1 Then
                    $Write = _R2A_CommandLine($REG_Delete, $REG_KEY, $REG_ValueName, $REG_Type, $REG_Value, $hFileOut)
                    If @error Then Return SetError(4, "Unable to write to Output! ", 0)
                EndIf
                ExitLoop
            Case $cLine = ""
            Case $RegEditV = 0
                If $cLine = "REGEDIT4" Then $RegEditV = 4
                If $cLine = "Windows Registry Editor Version 5.00" Then $RegEditV = 5
            Case StringLeft($cLine, 1) = "[" And StringRight($cLine, 1) = "]"
                $REG_ValueName = ""
                $REG_Type = ""
                $REG_Value = ""
                If $ShortKeys Then
                    $cLine = StringReplace($cLine, "[HKEY_LOCAL_MACHINE", "[HKLM")
                    $cLine = StringReplace($cLine, "[HKEY_CLASSES_ROOT", "[HKCR")
                    $cLine = StringReplace($cLine, "[HKEY_CURRENT_USER", "[HKCU")
                    $cLine = StringReplace($cLine, "[HKEY_USERS", "[HKU")
                    $cLine = StringReplace($cLine, "[HKEY_CURRENT_CONFIG", "[HKCC")
                EndIf
                $cLine = StringTrimRight(StringTrimLeft($cLine, 1), 1)
                If $Step = 1 Then
                    If StringInStr($cLine, $REG_KEY) = 0 Then
                        $Write = _R2A_CommandLine($REG_Delete, $REG_KEY, $REG_ValueName, $REG_Type, $REG_Value, $hFileOut)
                        If @error Then Return SetError(4, "Unable to write to Output! ", 0)
                    EndIf
                EndIf
                $REG_KEY = $cLine
                If StringLeft($REG_KEY, 1) = "-" Then
                    $REG_Delete = 1
                    $REG_KEY = StringTrimLeft($REG_KEY, 1)
                    $Write = _R2A_CommandLine($REG_Delete, $REG_KEY, $REG_ValueName, $REG_Type, $REG_Value, $hFileOut)
                    If @error Then Return SetError(4, "Unable to write to Output! ", 0)
                    $Step = 0
                Else
                    $Step = 1
                EndIf
            Case $Step < 1
            Case Else
                $Step = 2
                $Error = 0
                If StringLeft($cLine, 2) = "@=" Then
                    $REG_ValueName = "@"
                    $cLine = StringTrimLeft($cLine, 2)
                    If $cLine = "-" Then $Error = 1
                ElseIf StringLeft($cLine, 1) = '"' Then
                    $xPos = 0
                    $ESC = 0
                    $REG_ValueName = ""
                    For $R2A_i = 1 To StringLen($cLine)
                        Local $lBreak = StringMid($cLine, $R2A_i, 1)
                        Select
                            Case $ESC
                                $ESC = 0
                                $REG_ValueName = $REG_ValueName & $lBreak
                            Case $lBreak = '\'
                                $ESC = 1
                            Case $lBreak = '"'
                                If $R2A_i > 1 Then
                                    $xPos = $R2A_i + 1
                                    ExitLoop
                                EndIf
                            Case Else
                                $REG_ValueName = $REG_ValueName & $lBreak
                        EndSelect
                    Next
                    If StringMid($cLine, $xPos, 1) = "=" Then
                        $cLine = StringTrimLeft($cLine, $xPos)
                    Else
                        $Error = 2
                    EndIf
                Else
                    $Error = 3
                EndIf
                If $Error Then
                    ConsoleWrite("REG to AU3 - Warning " & $Error & ": Bad syntax at value-name in line: " & $LinesRead & @CRLF)
                    ContinueLoop
                EndIf
                If StringLeft($cLine, 1) = '"' And StringRight($cLine, 1) = '"' Then
                    $REG_Type = "REG_SZ"
                    $xPos = 0
                    $ESC = 0
                    $REG_Value = ""
                    For $R2A_i = 1 To StringLen($cLine)
                        Local $lBreak = StringMid($cLine, $R2A_i, 1)
                        Select
                            Case $ESC
                                $ESC = 0
                                $REG_Value = $REG_Value & $lBreak
                            Case $lBreak = '\'
                                $ESC = 1
                            Case $lBreak = '"'
                                If $R2A_i > 1 Then
                                    $xPos = $R2A_i + 1
                                    ExitLoop
                                EndIf
                            Case Else
                                $REG_Value = $REG_Value & $lBreak
                        EndSelect
                    Next
                ElseIf StringLeft($cLine, 1) = "-" Then
                    $REG_Delete = 1
                Else
                    Local $sType = StringLeft($cLine, StringInStr($cLine, ":"))
                    $cLine = StringTrimLeft($cLine, StringLen($sType))
                    Select
                        Case $sType = "dword:"
                            $REG_Type = "REG_DWORD"
                            $REG_Value = Dec($cLine)
                        Case $sType = "hex(7):"
                            $REG_Type = "REG_MULTI_SZ"
                            $REG_Value = _R2A_Hex2String($cLine, $RegEditV)
                        Case $sType = "hex(2):"
                            $REG_Type = "REG_EXPAND_SZ"
                            $REG_Value = _R2A_Hex2String($cLine, $RegEditV)
                        Case $sType = "hex(0):"
                            $REG_Type = "REG_NONE"
                            $REG_Value = StringReplace($cLine, ",", "")
                        Case $sType = "hex:"
                            $REG_Type = "REG_BINARY"
                            $REG_Value = StringReplace($cLine, ",", "")
                        Case StringLeft($sType, 3) = "hex"
                            ConsoleWrite("REG to AU3 - Warning: unsupported key-type: " & $sType & "  - in line: " & $LinesRead & @CRLF)
                            ContinueLoop
                        Case Else
                            ConsoleWrite("REG to AU3 - Warning: bad syntax at key-type in line: " & $LinesRead & @CRLF)
                            ContinueLoop
                    EndSelect
                EndIf
                $Write = _R2A_CommandLine($REG_Delete, $REG_KEY, $REG_ValueName, $REG_Type, $REG_Value, $hFileOut)
                If @error Then Return SetError(4, "Unable to write to Output! ", 0)
        EndSelect
    WEnd
    If $hFileIN Then FileClose($hFileIN)
    If $hFileOut Then FileClose($hFileOut)
    If FileGetSize($sFileOUT) = 0 Then FileDelete($sFileOUT)
    Sleep(10)
    Return SetError(0, 0, 1)
EndFunc   ;==>_REGtoAU3
; * -----:|
Func _R2A_ReadLineFile($hFileIN, ByRef $EOF)
    Local $cLine = "", $cContinue = 1, $nBreak, $cBreak, $cRead
    While $cContinue
        $cContinue = 0
        $cRead = ""
        While 1
            $nBreak = FileRead($hFileIN, 1)
            If @error = -1 Then
                $EOF = 1
                ExitLoop
            EndIf
            $cBreak = Asc($nBreak)
            If $cBreak > 0 And $cBreak < 254 Then $cRead = $cRead & $nBreak
            If $cBreak = 10 Then ExitLoop
        WEnd
        $cRead = StringStripWS($cRead, 3)
        If StringRight($cRead, 1) = "\" Then
            $cRead = StringTrimRight($cRead, 1)
            $cContinue = 1
        EndIf
        $cLine = $cLine & $cRead
    WEnd
    Return SetError(0, 0, $cLine)
EndFunc   ;==>_R2A_ReadLineFile
; * -----:|
Func _R2A_CleanString($sVal)
    $sVal = StringReplace($sVal, '"', '""')
    $sVal = StringReplace($sVal, @LF, '" & @LF & "')
    Return SetError(0, 0, $sVal)
EndFunc   ;==>_R2A_CleanString
; * -----:|
Func _R2A_Hex2String($HexIN, $RegEditV)
    Local $i, $vChar, $StringOUT = ""
    If $RegEditV <> 4 Then $RegEditV = 5
    For $i = 1 To StringLen($HexIN)
        $vChar = Chr(Dec(StringMid($HexIN, $i, 2)))
        If $vChar = Chr(0) Then $vChar = @LF
        $StringOUT = $StringOUT & $vChar
        If $RegEditV = 5 Then
            $i = $i + 5
        Else
            $i = $i + 2
        EndIf
    Next
    While StringRight($StringOUT, 1) = @LF
        $StringOUT = StringTrimRight($StringOUT, 1)
    WEnd
    Return SetError(0, 0, $StringOUT)
EndFunc   ;==>_R2A_Hex2String
; * -----:|
Func _R2A_CommandLine(ByRef $REG_Delete, ByRef $REG_KEY, ByRef $REG_ValueName, ByRef $REG_Type, ByRef $REG_Value, $hFileOut)
    Local $cCommand
    If $REG_Delete Then
        $cCommand = "RegDelete(" & Chr(34) & _R2A_CleanString($REG_KEY) & Chr(34)
        If $REG_ValueName <> "" Then
            $cCommand = $cCommand & ", " & Chr(34) & _R2A_CleanString($REG_ValueName) & Chr(34)
        Else
            $REG_KEY = ""
        EndIf
        $cCommand = $cCommand & ")"
        $REG_Delete = 0
    Else
        $cCommand = "RegWrite(" & Chr(34) & _R2A_CleanString($REG_KEY) & Chr(34)
        If $REG_ValueName <> "" Then
            If $REG_ValueName = "@" Then $REG_ValueName = ""
            $cCommand = $cCommand & ", " & Chr(34) & _R2A_CleanString($REG_ValueName) & Chr(34)
            $cCommand = $cCommand & ", " & Chr(34) & $REG_Type & Chr(34)
            $cCommand = $cCommand & ", " & Chr(34) & _R2A_CleanString($REG_Value) & Chr(34)
        EndIf
        $cCommand = $cCommand & ")"
    EndIf
    $REG_ValueName = ""
    $REG_Type = ""
    $REG_Value = ""
    Local $Write = _R2A_WriteOutFile($cCommand, $hFileOut)
    If @error Then Return SetError(1, 0, 0)
    Return SetError(0, 0, 1)
EndFunc   ;==>_R2A_CommandLine
; * -----:|
Func _R2A_WriteOutFile($vLine, $hFileOut)
    If StringInStr($vLine, '"REG_NONE",') Then $vLine = ";" & $vLine
    If StringInStr($vLine, '"REG_BINARY",') Then
        $vLine = StringReplace($vLine, '"REG_BINARY", "', '"REG_BINARY", Binary("0x')
        $vLine = StringReplace($vLine, '")', '"))')
    EndIf
    If StringInStr($vLine, '"REG_DWORD",') Then
        $vLine = StringReplace($vLine, '"REG_DWORD", "', '"REG_DWORD", ')
        $vLine = StringReplace($vLine, '")', ')')
    EndIf
    Local $WriteFile = FileWriteLine($hFileOut, $vLine)
    If $WriteFile = 0 Then Return SetError(1, 0, 0)
    Return SetError(0, 0, 1)
EndFunc   ;==>_R2A_WriteOutFile
; * -----:|

REGtoAU3.zip

Edited by Trong

Regards,
 

Share this post


Link to post
Share on other sites



Nice work, TD :thumbsup:


AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

Spoiler

My contributions to the AutoIt Community

Some messages & Apologizes:

If I hurt you, Please accept my apologies, I never (regardless of the situation) mean to hurt anybody!!!

Also, I am very busy with my project so I will appear in the last row of the online list, if you want to contact me: Email@TheDcoder.xyz

Or you can have a nice chat with me in freenode, I use the same nick on freenode too!

3fHNZJ.gif

PLEASE JOIN ##AutoIt AND HELP THE IRC AUTOIT COMMUNITY!

Share this post


Link to post
Share on other sites

thx for your little useful tool


董小姐,你微笑的时候很美,就像安河桥下,清澈的水...

Share this post


Link to post
Share on other sites

Very nice, this will definitly save me some time in the future.

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

So I used this today and it works well but I wonder if I found a key it does not work on?

I took this reg file:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Toshiba\BluetoothStack\V1.0\TosBtExt]
"Shared Settings"="C:\\Sansio\\Bluetooth"
"Security Settings"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"DISABLE_FILEOPEN"=hex:01,00,00,00
"InBox Settings"="C:\\Sansio\\Bluetooth"
It produced this .au3

 

RegWrite("HKEY_CURRENT_USER\Software\Toshiba\BluetoothStack\V1.0\TosBtExt", "Shared Settings", "REG_SZ", "C:\Sansio\Bluetooth")
RegWrite("HKEY_CURRENT_USER\Software\Toshiba\BluetoothStack\V1.0\TosBtExt", "Security Settings", "REG_BINARY", "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
RegWrite("HKEY_CURRENT_USER\Software\Toshiba\BluetoothStack\V1.0\TosBtExt", "DISABLE_FILEOPEN", "REG_BINARY", "01000000")
RegWrite("HKEY_CURRENT_USER\Software\Toshiba\BluetoothStack\V1.0\TosBtExt", "InBox Settings", "REG_SZ", "C:\Sansio\Bluetooth")
When I use this .au3 the registry instead of being all 00 00 00 00 like it should be is 30 30 30 30 30 and it broke the security settings I needed to apply.

Anybody know what went wrong and how I fix it?

Regards,

Nvm Found The Answer:

So I changed my script to:

RegWrite("HKEY_CURRENT_USER\Software\Toshiba\BluetoothStack\V1.0\TosBtExt", "Shared Settings", "REG_SZ", "C:\Sansio\Bluetooth")
RegWrite("HKEY_CURRENT_USER\Software\Toshiba\BluetoothStack\V1.0\TosBtExt", "Security Settings", "REG_BINARY", Binary("0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"))
RegWrite("HKEY_CURRENT_USER\Software\Toshiba\BluetoothStack\V1.0\TosBtExt", "DISABLE_FILEOPEN", "REG_BINARY", Binary("0x01000000"))
RegWrite("HKEY_CURRENT_USER\Software\Toshiba\BluetoothStack\V1.0\TosBtExt", "InBox Settings", "REG_SZ", "C:\Sansio\Bluetooth")
Might I suggest having this .au3 implement this fix for you since its supposed to be "automatic"?

Regards,

Edited by ViciousXUSMC

Share this post


Link to post
Share on other sites

Thanks for sharing.

Just a small bug when you press {ESC} : the HotKeySet cannot pass any parameter to the function (like AdlibRegister, GUICtrlSetOnEvent or else...), so the $vMessage is not declared in _R2A_Exit

You can add this line in your _R2A_Exit function :

If NOT IsDeclared("vMessage") Then Local $vMessage = ""

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

Really, really great work, nice and pretty. :)

I was begining to write today a sort of phaser to detect key errors in .reg files, and then i see this topic. I love it.

Edited by zalomalo

My english shucks, i know it.

Share this post


Link to post
Share on other sites

#10 ·  Posted (edited)

I have tryed this morning do something with your functions as engine. The file you write its not very usefull to go futher. I have changed to a ini file to be executed by a general purpose. I have changed somethings and the tabulation and format of my taste. :P.

Anyway my purpose was knowing what key from a reg file should i delete to avoid errors, but the result codes i get from several methods are a bit messed, a little umpredictable, so i am a bit lazzy by this.

My code is a bit messed, unoptimized and such, written in stream mode (with some recycled parts); if anyone wants to test it should change the default directories globals, where are regfiles.reg. At last, i have not reach a fast program to fix regfiles ... may be retry later, but i have done two nice funtions to objetcs unique ( i dont like or want the ramdom method from standard UDF _TempFile(), and mines are much simpler and faster :) .

By other hand i think you engine functions could be much faster, like 10-1000 times. I dont think is necesary pharse char to char, and is very complex by this. Tell me if you are interested in try optimice it when i can spare time.

Cheers ;)

 

_RegisterErrorPhaser_v15.au3

Edited by zalomalo
comments

My english shucks, i know it.

Share this post


Link to post
Share on other sites

#11 ·  Posted (edited)

@ViciousXUSMC Fixed.

@jguinch Fixed.

Great - You may want to update the first post so that it says "New Code" rather than "Old Code" :) It confused me thinking it was the same download as before.  Thanks again for this though, I actually use it quite often. 

Edited by ViciousXUSMC

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