#include <StaticConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiButton.au3>
#include <GuiTab.au3>
#include <Array.au3>
#include <EditConstants.au3>
#include <WinAPI.au3>
#include <WinAPIFiles.au3>
#include <WinAPIEx.au3>
Opt("GUIOnEventMode", 1)
Local $hMain[8]
Local $GUI, $GUIChild
Local $aDropFiles
_GUIMain()
While 1
WEnd
Func _GUIMain()
$hMain[0] = 7
$GUI = GUICreate("GUIMain",1245,800,-1,-1,$WS_MAXIMIZEBOX,$WS_EX_ACCEPTFILES+$WS_EX_LAYERED)
GUICtrlCreatePic(@scriptdir&"\"&"cmd.jpg",0,0,1245,800,$WS_CLIPSIBLINGS)
    GUICtrlSetState(-1,$GUI_DISABLE)
$GUIChild = GUICreate("GUIMain",1245,800,-1,-1,$WS_POPUP,BitOr($WS_EX_LAYERED,$WS_EX_MDICHILD), $GUI)
    GUISetFont(12, 0, 0, 0, $GUIChild, 5)
    GUISetBkColor(0x605f5f, $GUIChild)
    GUICtrlSetDefColor(0xffffff, $GUIChild)
    GUICtrlSetDefBkColor(0x605f5f, $GUIChild)
    GUISetIcon(@ScriptDir & "\tools\icon.ico", $GUIChild)
GUICtrlCreateLabel("",10,195,400,125,-1,$WS_EX_CLIENTEDGE)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("aUserDir[1]",15,200,390,25,BitOr($SS_CENTER,$SS_CENTERIMAGE),-1)
    GUICtrlSetFont(-1,15,0,0,0,5)
$hMain[1] = GUICtrlCreateLabel("aUserDir[1]",15,240,390,25,$SS_CENTERIMAGE,$WS_EX_CLIENTEDGE)
    GUICtrlSetFont(-1,13,0,0,0,5)
$hMain[2] = GUICtrlCreateLabel("Drag & Drop or Browse to change.",15,280,260,25,$SS_CENTERIMAGE,$WS_EX_CLIENTEDGE)
    GUICtrlSetState(-1,BitOr($GUI_SHOW,$GUI_ENABLE,$GUI_DROPACCEPTED))
    GUICtrlSetFont(-1,14,0,0,0,5)
$hMain[3] = GUICtrlCreateLabel("Browse",280,280,60,25,$SS_CENTERIMAGE+$SS_CENTER,$WS_EX_CLIENTEDGE)
$hMain[4] = GUICtrlCreateLabel("Exit",1110,730,120,30,$SS_CENTERIMAGE+$SS_CENTER,$WS_EX_CLIENTEDGE)
$hMain[5] = GUICtrlCreateGroup("Open Question",125,362,109,81,-1,-1)
$hMain[6] = GUICtrlCreateRadio("On",157,390,53,20,-1,-1)
$hMain[7] = GUICtrlCreateRadio("Off",157,416,53,20,-1,-1)
GUICtrlCreateGroup("", -99, -99, 1, 1)
For $i = 1 To $hMain[0]
    DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($hMain[$i]), "wstr", 0, "wstr", 0)
    GUICtrlSetColor(-1, 0xFFFFFF)
Next
GUIRegisterMsg($WM_DROPFILES, 'WM_DROPFILES')
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit", $GUI)
GUISetOnEvent($GUI_EVENT_DROPPED, "_Dropped", $GUIChild)
GUICtrlSetOnEvent($hMain[3], '_Browse')
GUICtrlSetOnEvent($hMain[4], '_Exit')
_WinAPI_SetLayeredWindowAttributes($GUIChild, 0x605f5f)
GUISetState(@SW_SHOW, $GUI)
GUISetState(@SW_SHOW, $GUIChild)
EndFunc
Func _Browse()
    MsgBox(0, "Test", "Browse")
EndFunc
Func _Dropped()
    _ArrayDisplay($aDropFiles)
EndFunc
Func _Exit()
    MsgBox(0, "Test", "Exit")
    Exit
EndFunc
Func WM_DROPFILES($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hWnd, $iMsg, $lParam
    Local $iSize, $pFileName
    Local $aRet = DllCall("shell32.dll", "int", "DragQueryFileW", "hwnd", $wParam, "int", 0xFFFFFFFF, "ptr", 0, "int", 0)
    Global $aDropFiles[$aRet[0] + 1] = [$aRet[0]]
    For $i = 0 To $aRet[0] - 1
        $aRet = DllCall("shell32.dll", "int", "DragQueryFileW", "hwnd", $wParam, "int", $i, "ptr", 0, "int", 0)
        $iSize = $aRet[0] + 1
        $pFileName = DllStructCreate("wchar[" & $iSize & "]")
        DllCall("shell32.dll", "int", "DragQueryFileW", "hwnd", $wParam, "int", $i, "ptr", DllStructGetPtr($pFileName), "int", $iSize)
        $aDropFiles[$i + 1] = DllStructGetData($pFileName, 1)
        $pFileName = 0
    Next
    Return $GUI_RUNDEFMSG
EndFunc
