What about something like this:
#include <GDIPlus.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
Global $aImageList[3]
_GDIPlus_Startup()
$aImageList[0] = _GDIPlus_ImageLoadFromFile("c:\Program Files (x86)\AutoIt3\Examples\GUI\Merlin.gif")
$aImageList[1] = _GDIPlus_ImageLoadFromFile("c:\Program Files (x86)\AutoIt3\Examples\GUI\msoobe.jpg")
$aImageList[2] = _GDIPlus_ImageLoadFromFile("c:\Program Files (x86)\AutoIt3\Examples\GUI\mslogo.jpg")
$hGUI1 = GUICreate("GUI", 640, 480, 200, 150)
$hGUI2 = GUICreate("", 640, 480, 0, 0, $WS_POPUP, BitOR($WS_EX_MDICHILD,$WS_EX_LAYERED, $WS_EX_TOPMOST),$hGUI1)
GUISetState(@SW_SHOW, $hGUI1)
GUISetState(@SW_SHOW, $hGUI2)
_SetBitmap($hGUI2, $aImageList[0])
_SetBitmap($hGUI2, $aImageList[1])
_SetBitmap($hGUI2, $aImageList[2])
_GDIPlus_Shutdown()
Func _SetBitmap($hGUI, $hGUI_Image)
Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
$hScrDC = _WinAPI_GetDC(0)
$hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hGUI_Image)
$hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
$tSize = DllStructCreate($tagSIZE)
$pSize = DllStructGetPtr($tSize)
DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hGUI_Image))
DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hGUI_Image))
$tSource = DllStructCreate($tagPOINT)
$pSource = DllStructGetPtr($tSource)
$tBlend = DllStructCreate($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr($tBlend)
DllStructSetData($tBlend, "Format", 1)
Sleep(1000)
For $i = 5 to 255 step 5
DllStructSetData($tBlend, "Alpha", $i)
_WinAPI_UpdateLayeredWindow($hGUI2, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
Sleep(40)
Next
Sleep(1000)
For $i = 250 to 0 step -5
DllStructSetData($tBlend, "Alpha", $i)
_WinAPI_UpdateLayeredWindow($hGUI2, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
Sleep(40)
Next
Sleep(500)
_WinAPI_ReleaseDC(0, $hScrDC)
_WinAPI_SelectObject($hMemDC, $hOld)
_WinAPI_DeleteObject($hBitmap)
_WinAPI_DeleteDC($hMemDC)
_GDIPlus_ImageDispose($hGUI_Image)
EndFunc
This is a modified version of UEZ code here: