Jump to content

MetroGUI UDF v5.1brings up error: _WinAPI_GetProcAddress() already defined.


Recommended Posts

Hi,

I just downloaded the MetroGUI UDF - GUI Additions - AutoIt Forums (autoitscript.com) in the current Version. 
I loaded the Example.au3 in my SciTE V4.4.6 and tried to run it (Shift+F5) but it returns the following 11 errors:
 

Quote


Func _WinAPI_GetProcAddress($hModule, $vName)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\_test\autoit\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(75,37) : error: _WinAPI_LoadLibrary() already defined.
Func _WinAPI_LoadLibrary($sFileName)"C:\_test\autoit\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(69,46) : error: _WinAPI_GetProcAddress() already defined.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\_test\autoit\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(79,35) : error: _WinAPI_FreeLibrary() already defined.
Func _WinAPI_FreeLibrary($hModule)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\_test\autoit\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(84,33) : error: _WinAPI_GetDlgCtrlID() already defined.
Func _WinAPI_GetDlgCtrlID($hWnd)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\_test\autoit\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(88,31) : error: _WinAPI_SetCapture() already defined.
Func _WinAPI_SetCapture($hWnd)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\_test\autoit\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(92,34) : error: _WinAPI_DestroyWindow() already defined.
Func _WinAPI_DestroyWindow($hWnd)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\_test\autoit\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(116,26) : error: _WinAPI_GetCapture() already defined.
Func _WinAPI_GetCapture()
~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Program Files (x86)\AutoIt3\Include\WinAPIShellEx.au3"(91,61) : error: _WinAPI_DefSubclassProc() already defined.
Func _WinAPI_DefSubclassProc($hWnd, $iMsg, $wParam, $lParam)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Program Files (x86)\AutoIt3\Include\WinAPIShellEx.au3"(170,70) : error: _WinAPI_RemoveWindowSubclass() already defined.
Func _WinAPI_RemoveWindowSubclass($hWnd, $pSubclassProc, $idSubClass)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Program Files (x86)\AutoIt3\Include\WinAPIShellEx.au3"(194,79) : error: _WinAPI_SetWindowSubclass() already defined.
Func _WinAPI_SetWindowSubclass($hWnd, $pSubclassProc, $idSubClass, $pData = 0)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\_test\autoit\MetroGUI-UDF\MetroGUI_UDF.au3"(521,125) : error: _cHvr_Register(): undefined function.
    _cHvr_Register($Control_Button_Array[0], "_iHoverOff", "_iHoverOn", "", "", _iAddHover($Control_Button_Array), $CurrentGUI)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\_test\autoit\Example.au3 - 11 error(s), 0 warning(s)

It is just the vanilla example I've downloaded. I did not modify anything.

The same happens with Example-OnEventMode.au3.

My goal is actually to have a modern looking UI. I do not necessarly need this UDF if there is a better alternative. I also downloaded the newest KODA version but it also looks very outdated.

Thank you in advance.

Link to comment
Share on other sites

This means; the udf

Quote

What's New in Version 5.1

Released October 17, 2017

isn't tested with your newer Autoit Version. Contact the autor: @BBs19 , or modify it your self (comment out these funcs using #cs before the Func  and #ce after EndFunc. 

Yet, i tested and got an other error and commented out the func in SSCtrlHover.au3. I'm using the newest autoit 3.3.16.1 and couädn't find other already defined func's,

;======================================
;~ Author           :   binhnx
;~ Created          :   2014/10/20
;======================================
;~ Modified         : BB_19
;~ Last modified    :   2017/10/07
;======================================

#include-once
#include <WinAPI.au3>
#include <WinAPIShellEx.au3>
Local $_cHvr_aData[0]


Local Const $_cHvr_HDLLCOMCTL32 = _WinAPI_LoadLibrary('comctl32.dll')
Assert($_cHvr_HDLLCOMCTL32 <> 0, 'This UDF requires comctl32.dll')
Local Const $_cHvr_PDEFSUBCLASSPROC = _WinAPI_GetProcAddress($_cHvr_HDLLCOMCTL32, 'DefSubclassProc')
Local Const $_cHvr_PINTERNALSUBCLASS_DLL = DllCallbackRegister('_cHvr_iProc', 'NONE', 'HWND;UINT;WPARAM;LPARAM;DWORD')
Local Const $_cHvr_PINTERNALSUBCLASS = DllCallbackGetPtr($_cHvr_PINTERNALSUBCLASS_DLL)

OnAutoItExitRegister("_cHvr_Finalize")
Local Const $_cHvr_TSUBCLASSEXE = Call(@AutoItX64 ? '_cHvr_CSCP_X64' : '_cHvr_CSCP_X86')
Local Const $_cHvr_HEXECUTABLEHEAP = DllCall('kernel32.dll', 'HANDLE', 'HeapCreate', 'DWORD', 0x00040000, 'ULONG_PTR', 0, 'ULONG_PTR', 0)[0]
Assert($_cHvr_HEXECUTABLEHEAP <> 0, 'Failed to create executable heap object')
Local Const $_cHvr_PSUBCLASSEXE = _cHvr_ExecutableFromStruct(Call(@AutoItX64 ? '_cHvr_CSCP_X64' : '_cHvr_CSCP_X86'))


Func _cHvr_Register($idCtrl, $fnHovOff = '', $fnHoverOn = '', $fnClick = '', $fnDblClk = '', $HoverData = 0, $ClickData = 0, $fnRightClick = '')
    Local $hWnd = GUICtrlGetHandle($idCtrl)
    If (Not (IsHWnd($hWnd))) Then Return SetError(1, 0, -1)
    Local $nIndex = _cHvr_GetNewIndex($hWnd)
    Local $aData[13]
    $aData[0] = $hWnd ;Control Hwnd
    $aData[1] = $idCtrl ; Control handle
    $aData[3] = $fnHovOff ;Hover Off func
    $aData[4] = $HoverData ;Hover Off Data
    $aData[5] = $fnHoverOn ;Hover ON func
    $aData[6] = $HoverData ;Hover ON Data
    $aData[7] = $fnRightClick ;RClick func
    $aData[8] = $ClickData ; click data
    $aData[9] = $fnClick ;Click func
    $aData[10] = $ClickData ; click data
    $aData[11] = $fnDblClk ;DB click func
    $aData[12] = $ClickData ;DB click data
    $_cHvr_aData[$nIndex] = $aData
    _WinAPI_SetWindowSubclass($hWnd, $_cHvr_PSUBCLASSEXE, $hWnd, $nIndex)
    Return $nIndex
EndFunc   ;==>_cHvr_Register

Func _cHvr_iProc($hWnd, $uMsg, $wParam, $lParam, $cIndex)
    Switch $uMsg
        Case 0x0200 ;Hover
            GUISetCursor(2, 1)
            _cHvr_cMove($_cHvr_aData[$cIndex], $hWnd, $uMsg, $wParam, $lParam)
        Case 0x0201 ;Leftclick
            _cHvr_cDown($_cHvr_aData[$cIndex], $hWnd, $uMsg, $wParam, $lParam)
        Case 0x0202
            _cHvr_cUp($_cHvr_aData[$cIndex], $hWnd, $uMsg, $wParam, $lParam)
            Return False
        Case 0x0203 ;Doubleclick
            _cHvr_cDblClk($_cHvr_aData[$cIndex], $hWnd, $uMsg, $wParam, $lParam)
        Case 0x0204       ;Rightclick
            _cHvr_cRightClk($_cHvr_aData[$cIndex], $hWnd, $uMsg, $wParam, $lParam)
        Case 0x02A3 ;Hover leave
            _cHvr_cLeave($_cHvr_aData[$cIndex], $hWnd, $uMsg, $wParam, $lParam)
        Case 0x0082 ;Deleted
            _cHvr_UnRegisterInternal($cIndex, $hWnd)
    EndSwitch
    Return True
EndFunc   ;==>_cHvr_iProc

Func _cHvr_cDown(ByRef $aCtrlData, $hWnd, $uMsg, ByRef $wParam, ByRef $lParam)
    _WinAPI_SetCapture($hWnd)
    _cHvr_CallFunc($aCtrlData, 9)
EndFunc   ;==>_cHvr_cDown

Func _cHvr_cMove(ByRef $aCtrlData, $hWnd, $uMsg, ByRef $wParam, ByRef $lParam)
    If (_WinAPI_GetCapture() = $hWnd) Then
        Local $bIn = _cHvr_IsInClient($hWnd, $lParam)
        If Not $aCtrlData[2] Then
            If $bIn Then
                $aCtrlData[2] = 1
                _cHvr_CallFunc($aCtrlData, 9)
            EndIf
        Else
            If Not $bIn Then
                $aCtrlData[2] = 0
                _cHvr_CallFunc($aCtrlData, 3)
            EndIf
        EndIf
    ElseIf Not $aCtrlData[2] Then
        $aCtrlData[2] = 1
        _cHvr_CallFunc($aCtrlData, 5)
        Local $tTME = DllStructCreate('DWORD;DWORD;HWND;DWORD')
        DllStructSetData($tTME, 1, DllStructGetSize($tTME))
        DllStructSetData($tTME, 2, 2) ;$TME_LEAVE
        DllStructSetData($tTME, 3, $hWnd)
        DllCall('user32.dll', 'BOOL', 'TrackMouseEvent', 'STRUCT*', $tTME)
    EndIf
EndFunc   ;==>_cHvr_cMove

Func _cHvr_cUp(ByRef $aCtrlData, $hWnd, $uMsg, ByRef $wParam, ByRef $lParam)
    Local $lRet = _WinAPI_DefSubclassProc($hWnd, $uMsg, $wParam, $lParam)
    If (_WinAPI_GetCapture() = $hWnd) Then
        _WinAPI_ReleaseCapture()
        If _cHvr_IsInClient($hWnd, $lParam) Then
            _cHvr_CallFunc($aCtrlData, 9)
        EndIf
    EndIf
    Return $lRet
EndFunc   ;==>_cHvr_cUp

Func _cHvr_cDblClk(ByRef $aCtrlData, $hWnd, $uMsg, ByRef $wParam, ByRef $lParam)
    _cHvr_CallFunc($aCtrlData, 11)
EndFunc   ;==>_cHvr_cDblClk

Func _cHvr_cRightClk(ByRef $aCtrlData, $hWnd, $uMsg, ByRef $wParam, ByRef $lParam)
    _cHvr_CallFunc($aCtrlData, 7)
EndFunc   ;==>_cHvr_cRightClk

Func _cHvr_cLeave(ByRef $aCtrlData, $hWnd, $uMsg, ByRef $wParam, ByRef $lParam)
    $aCtrlData[2] = 0
    _cHvr_CallFunc($aCtrlData, 3)
EndFunc   ;==>_cHvr_cLeave

Func _cHvr_CallFunc(ByRef $aCtrlData, $iCallType)
    Call($aCtrlData[$iCallType], $aCtrlData[1], $aCtrlData[$iCallType + 1])
EndFunc   ;==>_cHvr_CallFunc

Func _cHvr_ArrayPush(ByRef $aStackArr, Const $vSrc1 = Default, Const $vSrc2 = Default, Const $vSrc3 = Default, Const $vSrc4 = Default, Const $vSrc5 = Default)
    While (UBound($aStackArr) < ($aStackArr[0] + @NumParams))
        ReDim $aStackArr[UBound($aStackArr) * 2]
    WEnd

    If Not ($vSrc1 = Default) Then
        $aStackArr[0] += 1
        $aStackArr[$aStackArr[0]] = $vSrc1
    EndIf
    If Not ($vSrc2 = Default) Then
        $aStackArr[0] += 1
        $aStackArr[$aStackArr[0]] = $vSrc2
    EndIf
    If Not ($vSrc3 = Default) Then
        $aStackArr[0] += 1
        $aStackArr[$aStackArr[0]] = $vSrc3
    EndIf
    If Not ($vSrc4 = Default) Then
        $aStackArr[0] += 1
        $aStackArr[$aStackArr[0]] = $vSrc4
    EndIf
    If Not ($vSrc5 = Default) Then
        $aStackArr[0] += 1
        $aStackArr[$aStackArr[0]] = $vSrc5
    EndIf
EndFunc   ;==>_cHvr_ArrayPush

Func _cHvr_IsInClient($hWnd, $lParam)
    Local $iX = BitShift(BitShift($lParam, -16), 16)
    Local $iY = BitShift($lParam, 16)
    Local $aSize = WinGetClientSize($hWnd)
    Return Not ($iX < 0 Or $iY < 0 Or $iX > $aSize[0] Or $iY > $aSize[1])
EndFunc   ;==>_cHvr_IsInClient

Func _cHvr_CSCP_X86() ;Create Subclass Process x86
    ; $hWnd             HWND            size: 4         ESP+4           EBP+8
    ; $uMsg             UINT            size: 4         ESP+8           EBP+12
    ; $wParam           WPARAM          size: 4         ESP+12          EBP+16
    ; $lParam           LPARAM          size: 4         ESP+16          EBP+20
    ; $uIdSubclass      UINT_PTR        size: 4         ESP+20          EBP+24
    ; $dwRefData        DWORD_PTR       size: 4         ESP+24          EBP+28      Total: 24

    ; NERVER FORGET ADDING align 1 OR YOU WILL SPEND HOURS TO FIND WHAT CAUSE 0xC0000005 Access Violation
    Local $sExe = 'align 1;'
    Local $aOpCode[100]
    $aOpCode[0] = 0
    Local $nAddrOffset[5]
    Local $nElemOffset[5]

    ; Func                                                                  ; __stdcall
    $sExe &= 'BYTE;BYTE;BYTE;'
    _cHvr_ArrayPush($aOpCode, 0x55) ;push   ebp
    _cHvr_ArrayPush($aOpCode, 0x8B, 0xEC) ;mov  ebp, esp

    ; Save un-modified params to nv register
    $sExe &= 'BYTE;' ;push  ebx
    _cHvr_ArrayPush($aOpCode, 0x53) ;53
    $sExe &= 'BYTE;BYTE;BYTE;' ;mov ebx, DWORD PTR [ebp+16]
    _cHvr_ArrayPush($aOpCode, 0x8B, 0x5D, 16) ;8b 5d 10
    $sExe &= 'BYTE;' ;push  esi
    _cHvr_ArrayPush($aOpCode, 0x56) ;56
    $sExe &= 'BYTE;BYTE;BYTE;' ;mov esi, DWORD PTR [ebp+12]
    _cHvr_ArrayPush($aOpCode, 0x8B, 0x75, 12) ;8b 75 0c
    $sExe &= 'BYTE;' ;push  edi
    _cHvr_ArrayPush($aOpCode, 0x57) ;57
    $sExe &= 'BYTE;BYTE;BYTE;' ;mov ebx, DWORD PTR [ebp+20]
    _cHvr_ArrayPush($aOpCode, 0x8B, 0x7D, 20) ;8b 7d 14

    ; If ($uMsg = 0x0082) Then Goto WndProcInternal                         ;WM_NCDESTROY
    $sExe &= 'BYTE;BYTE;DWORD;' ;cmp    esi, 0x82
    _cHvr_ArrayPush($aOpCode, 0x81, 0xFE, 0x82) ;81 fe 82 00 00 00
    $sExe &= 'BYTE;BYTE;' ;je       short WndProcInternal
    _cHvr_ArrayPush($aOpCode, 0x74, 0) ;74 BYTE_OFFSET
    $nAddrOffset[0] = DllStructGetSize(DllStructCreate($sExe))
    $nElemOffset[0] = $aOpCode[0]

    ; ElseIf ($uMsg = 0x02A3) Then Goto WndProcInternal                     ;WM_MOUSELEAVE
    $sExe &= 'BYTE;BYTE;DWORD;' ;cmp    esi, 0x2A3
    _cHvr_ArrayPush($aOpCode, 0x81, 0xFE, 0x2A3) ;81 fe a3 02 00 00
    $sExe &= 'BYTE;BYTE;' ;je       short WndProcInternal
    _cHvr_ArrayPush($aOpCode, 0x74, 0) ;74 BYTE_OFFSET
    $nAddrOffset[1] = DllStructGetSize(DllStructCreate($sExe))
    $nElemOffset[1] = $aOpCode[0]

    ; ElseIf ($uMsg < 0x200 Or $uMsg > 0x203) Then Goto DefaultWndProc
    $sExe &= 'BYTE;BYTE;BYTE;' ;lea eax, DWORD PTR [esi-0x200]
    _cHvr_ArrayPush($aOpCode, 0x8D, 0x86, -0x200) ;8d 86 00 02 00 00
    $sExe &= 'BYTE;BYTE;BYTE;' ;cmp eax, 3
    _cHvr_ArrayPush($aOpCode, 0x83, 0xF8, 3) ;83 f8 03
    $sExe &= 'BYTE;BYTE;' ;ja       short DefaultWndProc
    _cHvr_ArrayPush($aOpCode, 0x77, 0) ;77 BYTE_OFFSET
    $nAddrOffset[2] = DllStructGetSize(DllStructCreate($sExe))
    $nElemOffset[2] = $aOpCode[0]

    ; :WndProcInternal (HWND, UINT, WPARAM, LPARAM, DWORD)
    $aOpCode[$nElemOffset[0]] = $nAddrOffset[2] - $nAddrOffset[0]
    $aOpCode[$nElemOffset[1]] = $nAddrOffset[2] - $nAddrOffset[1]

    ; Prepare stack
    $sExe &= 'BYTE;BYTE;BYTE;' ;mov ecx, DWORD PTR [ebp+28]
    _cHvr_ArrayPush($aOpCode, 0x8B, 0x4D, 28) ;8b 4d 1c
    $sExe &= 'BYTE;BYTE;BYTE;' ;mov edx, DWORD PTR [ebp+8]
    _cHvr_ArrayPush($aOpCode, 0x8B, 0x55, 8) ;8b 55 08
    $sExe &= 'BYTE;' ;push  ecx
    _cHvr_ArrayPush($aOpCode, 0x51) ;51
    $sExe &= 'BYTE;' ;push  edi
    _cHvr_ArrayPush($aOpCode, 0x57) ;57
    $sExe &= 'BYTE;' ;push  ebx
    _cHvr_ArrayPush($aOpCode, 0x53) ;53
    $sExe &= 'BYTE;' ;push  esi
    _cHvr_ArrayPush($aOpCode, 0x56) ;56
    $sExe &= 'BYTE;' ;push  edx
    _cHvr_ArrayPush($aOpCode, 0x52) ;52

    ; Call
    $sExe &= 'BYTE;PTR;' ;mov   eax, _cHvr_iProc
    _cHvr_ArrayPush($aOpCode, 0xB8, $_cHvr_PINTERNALSUBCLASS)
    $sExe &= 'BYTE;BYTE;' ;call near eax
    _cHvr_ArrayPush($aOpCode, 0xFF, 0xD0) ;ff 75 8

    ; If (WndProcInternal() = 0) Then Return
    $sExe &= 'BYTE;BYTE;' ;test eax, eax
    _cHvr_ArrayPush($aOpCode, 0x85, 0xC0) ;85 c0
    $sExe &= 'BYTE;BYTE;' ;jz       short Return
    _cHvr_ArrayPush($aOpCode, 0x74, 0) ;74 BYTE_OFFSET
    $nAddrOffset[3] = DllStructGetSize(DllStructCreate($sExe))
    $nElemOffset[3] = $aOpCode[0]

    ; :DefaultWndProc (HWND, UINT, WPARAM, LPARAM)
    $aOpCode[$nElemOffset[2]] = $nAddrOffset[3] - $nAddrOffset[2]

    ; Prepare stack
    $sExe &= 'BYTE;BYTE;BYTE;' ;mov eax, DWORD PTR [ebp+8]
    _cHvr_ArrayPush($aOpCode, 0x8B, 0x45, 8)
    $sExe &= 'BYTE;' ;push  edi
    _cHvr_ArrayPush($aOpCode, 0x57) ;57
    $sExe &= 'BYTE;' ;push  ebx
    _cHvr_ArrayPush($aOpCode, 0x53) ;53
    $sExe &= 'BYTE;' ;push  esi
    _cHvr_ArrayPush($aOpCode, 0x56) ;56
    $sExe &= 'BYTE;' ;push  eax
    _cHvr_ArrayPush($aOpCode, 0x50) ;50

    ;Call
    $sExe &= 'BYTE;PTR;' ;mov   eax,COMCTL32.DefSubclassProc
    _cHvr_ArrayPush($aOpCode, 0xB8, $_cHvr_PDEFSUBCLASSPROC)
    $sExe &= 'BYTE;BYTE;' ;call near eax
    _cHvr_ArrayPush($aOpCode, 0xFF, 0xD0) ;ff 75 8
    $nAddrOffset[4] = DllStructGetSize(DllStructCreate($sExe))

    ; :Return
    $aOpCode[$nElemOffset[3]] = $nAddrOffset[4] - $nAddrOffset[3]

    ; Restore nv-register
    $sExe &= 'BYTE;BYTE;BYTE;'
    _cHvr_ArrayPush($aOpCode, 0x5F) ;pop    edi
    _cHvr_ArrayPush($aOpCode, 0x5E) ;pop    esi
    _cHvr_ArrayPush($aOpCode, 0x5B) ;pop    ebx


    ; EndFunc
    $sExe &= 'BYTE;BYTE;BYTE;WORD'
    _cHvr_ArrayPush($aOpCode, 0x5D) ;pop    ebp
    _cHvr_ArrayPush($aOpCode, 0xC2, 24) ;ret    24

    Return _cHvr_PopulateOpcode($sExe, $aOpCode)
EndFunc   ;==>_cHvr_CSCP_X86

Func _cHvr_CSCP_X64() ;Create Subclass Process x64
    ; First four INT and UINT has size = 8 instead of 4 because they are stored in RCX, RDX, R8, R9
    ; $hWnd             HWND            size: 8         RCX         RSP+8
    ; $uMsg             UINT            size: 8         EDX         RSP+16
    ; $wParam           WPARAM          size: 8         R8          RSP+24
    ; $lParam           LPARAM          size: 8         R9          RSP+32
    ; $uIdSubclass      UINT_PTR        size: 8         RSP+40
    ; $dwRefData        DWORD_PTR       size: 8         RSP+48      Total: 48
    Local $sExe = 'align 1;'
    Local $aOpCode[100]
    $aOpCode[0] = 0
    Local $nAddrOffset[5]
    Local $nElemOffset[5]

    ; If ($uMsg = 0x0082) Then Goto WndProcInternal                         ;WM_NCDESTROY
    $sExe &= 'BYTE;BYTE;DWORD;' ;cmp    edx, 0x82
    _cHvr_ArrayPush($aOpCode, 0x81, 0xFA, 0x82) ;81 fa 82 00 00 00
    $sExe &= 'BYTE;BYTE;' ;je       short WndProcInternal
    _cHvr_ArrayPush($aOpCode, 0x74, 0) ;74 BYTE_OFFSET
    $nAddrOffset[0] = DllStructGetSize(DllStructCreate($sExe))
    $nElemOffset[0] = $aOpCode[0]

    ; ElseIf ($uMsg = 0x02A3) Then Goto WndProcInternal                     ;WM_MOUSELEAVE
    $sExe &= 'BYTE;BYTE;DWORD;' ;cmp    edx, 0x2A3
    _cHvr_ArrayPush($aOpCode, 0x81, 0xFA, 0x2A3) ;81 fa a3 02 00 00
    $sExe &= 'BYTE;BYTE;' ;je       short WndProcInternal
    _cHvr_ArrayPush($aOpCode, 0x74, 0) ;74 BYTE_OFFSET
    $nAddrOffset[1] = DllStructGetSize(DllStructCreate($sExe))
    $nElemOffset[1] = $aOpCode[0]

    ; ElseIf ($uMsg < 0x200 Or $uMsg > 0x203) Then Goto DefaultWndProc
    $sExe &= 'BYTE;BYTE;DWORD;' ;lea    eax, DWORD PTR [rdx-0x200]
    _cHvr_ArrayPush($aOpCode, 0x8D, 0x82, -0x200) ;8d 82 00 02 00 00
    $sExe &= 'BYTE;BYTE;BYTE;' ;cmp eax, 3
    _cHvr_ArrayPush($aOpCode, 0x83, 0xF8, 3) ;83 f8 03
    $sExe &= 'BYTE;BYTE;' ;ja       short DefaultWndProc
    _cHvr_ArrayPush($aOpCode, 0x77, 0) ;77 BYTE_OFFSET
    $nAddrOffset[2] = DllStructGetSize(DllStructCreate($sExe))
    $nElemOffset[2] = $aOpCode[0]
    $aOpCode[$nElemOffset[0]] = $nAddrOffset[2] - $nAddrOffset[0]
    $aOpCode[$nElemOffset[1]] = $nAddrOffset[2] - $nAddrOffset[1]


    ; :WndProcInternal (HWND rsp+8, UINT +16, WPARAM +24, LPARAM +32, DWORD +40)
    ; $dwRefData = [ESP+48+48(sub rsp, 48)+8(push rdi)] = [ESP+104]
    ; Save base registers:
    $sExe &= 'BYTE;BYTE;BYTE;BYTE;BYTE;' ;mov   QWORD PTR [rsp+8], rbx
    _cHvr_ArrayPush($aOpCode, 0x48, 0x89, 0x5C, 0x24, 8) ;48 89 5c 24 08
    $sExe &= 'BYTE;BYTE;BYTE;BYTE;BYTE;' ;mov   QWORD PTR [rsp+16], rbp
    _cHvr_ArrayPush($aOpCode, 0x48, 0x89, 0x6C, 0x24, 16) ;48 89 6c 24 10
    $sExe &= 'BYTE;BYTE;BYTE;BYTE;BYTE;' ;mov   QWORD PTR [rsp+24], rsi
    _cHvr_ArrayPush($aOpCode, 0x48, 0x89, 0x74, 0x24, 24) ;48 89 74 24 18
    $sExe &= 'BYTE;' ;push  rdi
    _cHvr_ArrayPush($aOpCode, 0x57) ;57
    ; Max sub-routine params = 5 (size = 5*8 = 40), + 8 bytes for return value = 48.
    $sExe &= 'BYTE;BYTE;BYTE;BYTE;' ;sub    rsp, 48
    _cHvr_ArrayPush($aOpCode, 0x48, 0x83, 0xEC, 48) ;48 83 ec 30
    ; rbx, rbp, rsi now at [ESP+8+56], [ESP+16+56], [ESP+24+56]

    ; Save the parameters:
    $sExe &= 'BYTE;BYTE;BYTE;' ;mov rdi, r9
    _cHvr_ArrayPush($aOpCode, 0x49, 0x8B, 0xF9) ;49 8b f9
    $sExe &= 'BYTE;BYTE;BYTE;' ;mov rsi, r8
    _cHvr_ArrayPush($aOpCode, 0x49, 0x8B, 0xF0) ;49 8b f0
    $sExe &= 'BYTE;BYTE;' ;mov  ebx, edx
    _cHvr_ArrayPush($aOpCode, 0x8B, 0xDA) ;8b da
    $sExe &= 'BYTE;BYTE;BYTE;' ;mov rbp, rcx
    _cHvr_ArrayPush($aOpCode, 0x48, 0x8B, 0xE9) ;48 8b e9

    ; Prepare additional parameter for internal WndProc
    $sExe &= 'BYTE;BYTE;BYTE;BYTE;BYTE;' ;mov   rax, QWORD PTR [rsp+104]
    _cHvr_ArrayPush($aOpCode, 0x48, 0x8B, 0x44, 0x24, 104) ;48 8b 44 24 68
    $sExe &= 'BYTE;BYTE;BYTE;BYTE;BYTE;' ;mov   QWORD PTR [rsp+32], Rax]
    _cHvr_ArrayPush($aOpCode, 0x48, 0x89, 0x44, 0x24, 32) ;48 89 44 24 20

    ; Call internal WndProc
    $sExe &= 'BYTE;BYTE;PTR;' ;mov  rax, QWORD PTR _cHvr_iProc
    _cHvr_ArrayPush($aOpCode, 0x48, 0xB8, $_cHvr_PINTERNALSUBCLASS)
    ;movabs rax, _cHvr_iProc                    ;48 b8 QWORD_PTR
    $sExe &= 'BYTE;BYTE;' ;call rax
    _cHvr_ArrayPush($aOpCode, 0xFF, 0xD0) ;ff d0

    ; If (WndProcInternal() = 0) Then Return
    $sExe &= 'BYTE;BYTE;BYTE;' ;cmp edx, 0x2A3
    _cHvr_ArrayPush($aOpCode, 0x48, 0x85, 0xC0) ;48 85 c0
    $sExe &= 'BYTE;BYTE;' ;je       short WndProcInternal
    _cHvr_ArrayPush($aOpCode, 0x74, 0)
    $nAddrOffset[3] = DllStructGetSize(DllStructCreate($sExe))
    $nElemOffset[3] = $aOpCode[0]

    ; Restore parameters for DefSubclassProc call
    $sExe &= 'BYTE;BYTE;BYTE;' ;mov r9, rdi
    _cHvr_ArrayPush($aOpCode, 0x4C, 0x8B, 0xCF) ;4c 8b cf
    $sExe &= 'BYTE;BYTE;BYTE;' ;mov r8, rsi
    _cHvr_ArrayPush($aOpCode, 0x4C, 0x8B, 0xC6) ;4c 8b c6
    $sExe &= 'BYTE;BYTE;' ;mov  edx, ebx
    _cHvr_ArrayPush($aOpCode, 0x8B, 0xD3) ;8b d3
    $sExe &= 'BYTE;BYTE;BYTE;' ;mov rcx, rbp
    _cHvr_ArrayPush($aOpCode, 0x48, 0x8B, 0xCD) ;48 8b cd

    ; Restore registers value
    $aOpCode[$nElemOffset[3]] = DllStructGetSize(DllStructCreate($sExe)) - $nAddrOffset[3]
    $sExe &= 'BYTE;BYTE;BYTE;BYTE;BYTE;' ;mov   rbx, QWORD PTR [rsp+64]
    _cHvr_ArrayPush($aOpCode, 0x48, 0x8B, 0x5C, 0x24, 64) ;48 8b 5c 24 40
    $sExe &= 'BYTE;BYTE;BYTE;BYTE;BYTE;' ;mov   rbp, QWORD PTR [rsp+72]
    _cHvr_ArrayPush($aOpCode, 0x48, 0x8B, 0x6C, 0x24, 72) ;48 8b 6c 24 48
    $sExe &= 'BYTE;BYTE;BYTE;BYTE;BYTE;' ;mov   rsi, QWORD PTR [rsp+80]
    _cHvr_ArrayPush($aOpCode, 0x48, 0x8B, 0x74, 0x24, 80) ;48 8b 74 24 50
    $sExe &= 'BYTE;BYTE;BYTE;BYTE;' ;add    rsp, 48
    _cHvr_ArrayPush($aOpCode, 0x48, 0x83, 0xc4, 48) ;48 83 c4 30
    $sExe &= 'BYTE;' ;pop   rdi
    _cHvr_ArrayPush($aOpCode, 0x5F) ;5f
    $sExe &= 'BYTE;BYTE;BYTE;' ;cmp edx, 0x2A3
    _cHvr_ArrayPush($aOpCode, 0x48, 0x85, 0xC0) ;48 85 c0
    $sExe &= 'BYTE;BYTE;' ;je       short WndProcInternal
    _cHvr_ArrayPush($aOpCode, 0x74, 0)
    $nAddrOffset[4] = DllStructGetSize(DllStructCreate($sExe))
    $nElemOffset[4] = $aOpCode[0]
    $aOpCode[$nElemOffset[2]] = DllStructGetSize(DllStructCreate($sExe)) - $nAddrOffset[2]

    ; :DefaultWndProc (HWND, UINT, WPARAM, LPARAM)
    $sExe &= 'BYTE;BYTE;PTR;'
    _cHvr_ArrayPush($aOpCode, 0x48, 0xB8, $_cHvr_PDEFSUBCLASSPROC)
    $sExe &= 'BYTE;BYTE;'
    _cHvr_ArrayPush($aOpCode, 0xFF, 0xE0)

    ; :Return
    $aOpCode[$nElemOffset[4]] = DllStructGetSize(DllStructCreate($sExe)) - $nAddrOffset[4]
    $sExe &= 'BYTE;' ;ret   0
    _cHvr_ArrayPush($aOpCode, 0xC3)

    Return _cHvr_PopulateOpcode($sExe, $aOpCode)
EndFunc   ;==>_cHvr_CSCP_X64

Func _cHvr_PopulateOpcode(ByRef $sExe, ByRef $aOpCode)
    Local $tExe = DllStructCreate($sExe)
    Assert(@error = 0, 'DllStrucCreate Failed With Error = ' & @error)
    For $i = 1 To $aOpCode[0]
        DllStructSetData($tExe, $i, $aOpCode[$i])
    Next
    Return $tExe
EndFunc   ;==>_cHvr_PopulateOpcode

Func _cHvr_ExecutableFromStruct($tExe)
    Local $pExe = DllCall('kernel32.dll', 'PTR', 'HeapAlloc', 'HANDLE', $_cHvr_HEXECUTABLEHEAP, 'DWORD', 8, 'ULONG_PTR', DllStructGetSize($tExe))[0]
    Assert($pExe <> 0, 'Allocate memory failed')
    DllCall("kernel32.dll", "none", "RtlMoveMemory", "PTR", $pExe, "PTR", DllStructGetPtr($tExe), "ULONG_PTR", DllStructGetSize($tExe))
    Assert(@error = 0, 'Failed to copy memory')
    Return $pExe
EndFunc   ;==>_cHvr_ExecutableFromStruct

Func _cHvr_UnRegisterInternal($cIndex, $hWnd)
    _WinAPI_RemoveWindowSubclass($hWnd, $_cHvr_PSUBCLASSEXE, $hWnd)
    Local $aData = $_cHvr_aData[$cIndex]
    $_cHvr_aData[$cIndex] = 0
    Call("_iControlDelete", $aData[1])
EndFunc   ;==>_cHvr_UnRegisterInternal

Func _cHvr_Finalize()
    DllCallbackFree($_cHvr_PINTERNALSUBCLASS_DLL)
    _WinAPI_FreeLibrary($_cHvr_HDLLCOMCTL32)
    If ($_cHvr_HEXECUTABLEHEAP <> 0) Then
        If ($_cHvr_PSUBCLASSEXE <> 0) Then
            DllCall('kernel32.dll', 'BOOL', 'HeapFree', 'HANDLE', $_cHvr_HEXECUTABLEHEAP, 'DWORD', 0, 'PTR', $_cHvr_PSUBCLASSEXE)
        EndIf
        DllCall('kernel32.dll', 'BOOL', 'HeapDestroy', 'HANDLE', $_cHvr_HEXECUTABLEHEAP)
    EndIf
EndFunc   ;==>_cHvr_Finalize

Func Assert($bExpression, $sMsg = '', $sScript = @ScriptName, $sScriptPath = @ScriptFullPath, $iLine = @ScriptLineNumber, $iError = @error, $iExtend = @extended)
    If (Not ($bExpression)) Then
        MsgBox(BitOR(1, 0x10), 'Assertion Error!', _
                @CRLF & 'Script' & @TAB & ': ' & $sScript _
                 & @CRLF & 'Path' & @TAB & ': ' & $sScriptPath _
                 & @CRLF & 'Line' & @TAB & ': ' & $iLine _
                 & @CRLF & 'Error' & @TAB & ': ' & ($iError > 0x7FFF ? Hex($iError) : $iError) _
                 & ($iExtend <> 0 ? '  (Extended : ' & ($iExtend > 0x7FFF ? Hex($iExtend) : $iExtend) & ')' : '') _
                 & @CRLF & 'Message' & @TAB & ': ' & $sMsg _
                 & @CRLF & @CRLF & 'OK: Exit Script' & @TAB & 'Cancel: Continue')
        Exit
    EndIf
EndFunc   ;==>Assert

Func _cHvr_GetNewIndex($hWnd)
    ;Try to assign index from previously deleted control
    For $i = 0 To UBound($_cHvr_aData) - 1 Step +1
        If Not IsArray($_cHvr_aData[$i]) Then
            Return $i
        EndIf
    Next

    ReDim $_cHvr_aData[UBound($_cHvr_aData) + 1]
    Return UBound($_cHvr_aData) - 1
EndFunc   ;==>_cHvr_GetNewIndex

#cs
Func _WinAPI_GetCapture()
    Return DllCall("user32.dll", "HWND", "GetCapture")[0]
EndFunc   ;==>_WinAPI_GetCapture
#ce

but 68 warnings:

Spoiler

 

warning: 'Local' specifier in global scope.
Local $_cHvr_aData
~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(15,7) : warning: 'Local' specifier in global scope.
Local Const
~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(17,7) : warning: 'Local' specifier in global scope.
Local Const
~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(18,7) : warning: 'Local' specifier in global scope.
Local Const
~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(19,7) : warning: 'Local' specifier in global scope.
Local Const
~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(22,7) : warning: 'Local' specifier in global scope.
Local Const
~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(23,7) : warning: 'Local' specifier in global scope.
Local Const
~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroUDF-Required\SSCtrlHover.au3"(25,7) : warning: 'Local' specifier in global scope.
Local Const
~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(459,92) : warning: $Hover_BK_Color already declared/assigned
        Local $Hover_BK_Color = StringReplace(_AlterBrightness($GUI_BG_Color, +20), "0x", "0xFF")
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(467,134) : warning: $hPen1 already declared/assigned
        Local $hPen1 = _GDIPlus_PenCreate(StringReplace(_AlterBrightness($GUI_Font_Color, -80), "0x", "0xFF"), Round(1 * $cbDPI)) ;inactive
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(640,88) : warning: $BG_ColorD already declared/assigned
        Local $BG_ColorD = StringReplace(_AlterBrightness($GUIThemeColor, +12), "0x", "0xFF")
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(749,127) : warning: $hPen4 already declared/assigned
        Local $hPen4 = _GDIPlus_PenCreate(StringReplace(_AlterBrightness($GUI_Font_Color, -80), "0x", "0xFF"), $FrameSize) ;inactive
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(1337,58) : warning: $Font_Color1 already declared/assigned
        Local $Font_Color1 = _AlterBrightness($Font_Color, -15)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(1520,87) : warning: $BoxFrameCol already declared/assigned
        Local $BoxFrameCol = StringReplace(_AlterBrightness($Font_Color, -45), "0x", "0xFF")
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(1521,88) : warning: $BoxFrameCol1 already declared/assigned
        Local $BoxFrameCol1 = StringReplace(_AlterBrightness($Font_Color, -45), "0x", "0xFF")
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(1522,87) : warning: $Font_Color1 already declared/assigned
        Local $Font_Color1 = StringReplace(_AlterBrightness($Font_Color, -30), "0x", "0xFF")
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(1800,87) : warning: $BoxFrameCol already declared/assigned
        Local $BoxFrameCol = StringReplace(_AlterBrightness($Font_Color, -45), "0x", "0xFF")
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(1801,88) : warning: $BoxFrameCol1 already declared/assigned
        Local $BoxFrameCol1 = StringReplace(_AlterBrightness($Font_Color, -55), "0x", "0xFF")
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(1802,87) : warning: $Font_Color1 already declared/assigned
        Local $Font_Color1 = StringReplace(_AlterBrightness($Font_Color, -30), "0x", "0xFF")
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(2128,100) : warning: $Brush2 already declared/assigned
        Local $Brush2 = _GDIPlus_BrushCreateSolid(StringReplace($CB_Radio_CheckMark_Color, "0x", "0xFF"))
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(2340,99) : warning: $Brush1 already declared/assigned
        Local $Brush1 = _GDIPlus_BrushCreateSolid(StringReplace($CB_Radio_Color, "0x", "0xFF")) ;default
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(2341,111) : warning: $Brush2 already declared/assigned
        Local $Brush2 = _GDIPlus_BrushCreateSolid(StringReplace($CB_Radio_Hover_Color, "0x", "0xFF")) ;default hover
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(2342,98) : warning: $Brush3 already declared/assigned
        Local $Brush3 = _GDIPlus_BrushCreateSolid(StringReplace($ButtonBKColor, "0x", "0xFF")) ;checked
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(2343,127) : warning: $Brush4 already declared/assigned
        Local $Brush4 = _GDIPlus_BrushCreateSolid(StringReplace(_AlterBrightness($ButtonBKColor, +10), "0x", "0xFF")) ;checked hover
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(2344,109) : warning: $PenX already declared/assigned
        Local $PenX = _GDIPlus_PenCreate(StringReplace($CB_Radio_Color, "0x", "0xFF"), $FrameSize) ;CheckmarkColor
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(2501,115) : warning: $Pen1 already declared/assigned
        Local $Pen1 = _GDIPlus_PenCreate(StringReplace(_AlterBrightness($GUIThemeColor, +85), "0x", "0xFF"), $FrameSize)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(2746,144) : warning: $1stButton already declared/assigned
    Local $1stButton = _Metro_CreateButton($1stButtonText, $1stButton_Left, ($mHeight / $msgbDPI) - 50, 100, 34, $ButtonBKColor, $ButtonTextColor)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(2747,144) : warning: $2ndButton already declared/assigned
    Local $2ndButton = _Metro_CreateButton($2ndButtonText, $2ndButton_Left, ($mHeight / $msgbDPI) - 50, 100, 34, $ButtonBKColor, $ButtonTextColor)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(2749,144) : warning: $3rdButton already declared/assigned
    Local $3rdButton = _Metro_CreateButton($3rdButtonText, $3rdButton_Left, ($mHeight / $msgbDPI) - 50, 100, 34, $ButtonBKColor, $ButtonTextColor)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(2868,28) : warning: $input_nMsg possibly not declared/created yet
        $input_nMsg = GUIGetMsg()
        ~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(2966,59) : warning: $ProgressWidth already declared/assigned
        Local $ProgressWidth = (($Progress[1]) / 100) * $Percent
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(3360,35) : warning: $wPos already declared/assigned
                Local $wPos = WinGetPos($hWnd)
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(3430,44) : warning: $curInf already declared/assigned
                Local $curInf = GUIGetCursorInfo($hWnd)
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(3432,22) : warning: $iSide already declared/assigned
                    Local $iSide = 0,
                    ~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(3432,36) : warning: $iTopBot already declared/assigned
                    Local $iSide = 0, $iTopBot = 0,
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(3432,46) : warning: $Cur already declared/assigned
                    Local $iSide = 0, $iTopBot = 0, $Cur = 0
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\MetroGUI-UDF\MetroGUI_UDF.au3"(3433,36) : warning: $wPos already declared/assigned
                    Local $wPos = WinGetPos($hWnd)
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(34,61) : warning: $Form1 possibly not declared/created yet
$Form1 = _Metro_CreateGUI("Example", 500, 300, -1, -1, True)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(37,169) : warning: $Control_Buttons possibly not declared/created yet
$Control_Buttons = _Metro_AddControlButtons(True, True, True, True, True) ;CloseBtn = True, MaximizeBtn = True, MinimizeBtn = True, FullscreenBtn = True, MenuBtn = True
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(40,40) : warning: $GUI_CLOSE_BUTTON possibly not declared/created yet
$GUI_CLOSE_BUTTON = $Control_Buttons[0]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(41,43) : warning: $GUI_MAXIMIZE_BUTTON possibly not declared/created yet
$GUI_MAXIMIZE_BUTTON = $Control_Buttons[1]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(42,42) : warning: $GUI_RESTORE_BUTTON possibly not declared/created yet
$GUI_RESTORE_BUTTON = $Control_Buttons[2]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(43,43) : warning: $GUI_MINIMIZE_BUTTON possibly not declared/created yet
$GUI_MINIMIZE_BUTTON = $Control_Buttons[3]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(44,45) : warning: $GUI_FULLSCREEN_BUTTON possibly not declared/created yet
$GUI_FULLSCREEN_BUTTON = $Control_Buttons[4]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(45,44) : warning: $GUI_FSRestore_BUTTON possibly not declared/created yet
$GUI_FSRestore_BUTTON = $Control_Buttons[5]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(46,39) : warning: $GUI_MENU_BUTTON possibly not declared/created yet
$GUI_MENU_BUTTON = $Control_Buttons[6]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(50,67) : warning: $Button1 possibly not declared/created yet
$Button1 = _Metro_CreateButton("Button Style 1", 50, 245, 115, 40)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(51,70) : warning: $Button2 possibly not declared/created yet
$Button2 = _Metro_CreateButtonEx("Button Style 2", 195, 245, 115, 40)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(52,71) : warning: $Button3 possibly not declared/created yet
$Button3 = _Metro_CreateButtonEx2("Button Style 3", 340, 245, 115, 40)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(55,66) : warning: $Checkbox1 possibly not declared/created yet
$Checkbox1 = _Metro_CreateCheckbox("Checkbox 1", 30, 70, 125, 30)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(56,69) : warning: $Checkbox2 possibly not declared/created yet
$Checkbox2 = _Metro_CreateCheckboxEx("Checkbox 2", 30, 107, 125, 30)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(57,70) : warning: $Checkbox3 possibly not declared/created yet
$Checkbox3 = _Metro_CreateCheckboxEx2("Checkbox 3", 29, 142, 125, 30)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(64,63) : warning: $Radio1 possibly not declared/created yet
$Radio1 = _Metro_CreateRadio("1", "Radio 1", 180, 70, 100, 30)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(65,64) : warning: $Radio2 possibly not declared/created yet
$Radio2 = _Metro_CreateRadio("1", "Radio 2", 180, 110, 100, 30)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(66,96) : warning: $Radio3 possibly not declared/created yet
$Radio3 = _Metro_CreateRadioEx("1", "Radio 3", 180, 150, 100, 30) ;Style with colored checkmark
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(70,61) : warning: $Toggle1 possibly not declared/created yet
$Toggle1 = _Metro_CreateToggle("Toggle 1", 320, 70, 130, 30)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(71,64) : warning: $Toggle2 possibly not declared/created yet
$Toggle2 = _Metro_CreateToggleEx("Toggle 2", 322, 107, 128, 30)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(72,215) : warning: $Toggle3 possibly not declared/created yet
$Toggle3 = _Metro_CreateOnOffToggle("Enabled", "Disabled", 320, 144, 130, 30) ; Creates a toggle with different texts for on/off. Alternatively you can use _Metro_CreateOnOffToggleEx for the secondary toggle style.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(75,54) : warning: $Progress1 possibly not declared/created yet
$Progress1 = _Metro_CreateProgress(100, 195, 300, 26)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(94,21) : warning: $nMsg possibly not declared/created yet
    $nMsg = GUIGetMsg()
    ~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(109,10) : warning: 'Local' specifier in global scope.
            Local $MenuButtonsArray
            ~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(111,10) : warning: 'Local' specifier in global scope.
            Local $MenuSelect
            ~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(132,10) : warning: 'Local' specifier in global scope.
            Local $aCInfo
            ~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(135,11) : warning: 'Local' specifier in global scope.
                Local $MenuButtonsArray
                ~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(137,11) : warning: 'Local' specifier in global scope.
                Local $MenuSelect
                ~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(137,78) : warning: $MenuSelect already declared/assigned
                Local $MenuSelect = _Metro_RightClickMenu($Form1, 300, $MenuButtonsArray)
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(155,10) : warning: 'Local' specifier in global scope.
            Local $mInput
            ~~~~~~^
"C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"(163,10) : warning: 'Local' specifier in global scope.
            Local $Select_YesNo
            ~~~~~~^
C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3 - 0 error(s), 68 warning(s)
->20:16:18 AU3Check ended. Press F4 to jump to next error.rc:1
>Running:(3.3.16.1):C:\Program Files\AutoIt3\autoit3_x64.exe "C:\Users\(len)Bert\AutoIt\Downloaded\BBs19\MetroUDF-v5.1\MetroUDF-v5.1\Example.au3"    
+>Setting Hotkeys...--> Press Ctrl+Alt+Break to Restart or Ctrl+BREAK to Stop.

 

 

 

 

Edited by AutoBert
Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...