(This example uses a "flash" animation and therefore needs the "flash player" to work. Since "flash player" is discontinued and no longer present on many systems, this script may not work. I have therefore prepared a new script which does not use flash, but is based only on javascript. You can find it in this new post: www.autoitscript.com/forum/topic/206853-aquarium)
If you set within a window, a given color as transparent, every area of that window painted with that color, act as an hole through wich you can see what's behind, and click on what's behind as well.
What's funny is that if you embed a browser control within that window, the "transparent" color works even within the browser! This allow some interesting effects by simply opening any of the many javascript animations, or css effects or whatever within a browser control embedded into a GUI:
Here, for example, is a simple effect of fishes swimming around on the screen.
For lazyness I have embedded an ready made swf flash by a link to the web, but is of course possible embed any web page with javascripts css or whatever.....
Have fun
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <Misc.au3> ; for _IsPressed (23 END key)
Local $hDLL = DllOpen("user32.dll"), $oIE = ObjCreate("Shell.Explorer.2")
Local $hBackground = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUPWINDOW, $WS_EX_LAYERED + $WS_EX_TOPMOST)
Local $AlphaKey = 0xF0F7FF
; everything with color $AlphaKey within this window will be transparent
; even if within an embedded browser control!.....
_WinAPI_SetLayeredWindowAttributes($hBackground, $AlphaKey, 0, $LWA_COLORKEY)
GUISetState(@SW_SHOW, $hBackground)
$hIE = GUICtrlCreateObj($oIE, 0, 0, @DesktopWidth, @DesktopHeight) ; <- embedd $oIE in the AutoIt GUI
GUISetBkColor($AlphaKey, $hBackground) ; $AlphaKey $hBackground transparent
$oIE.navigate('http://cdn.abowman.com/widgets/fish/fish.swf')
; $oIE.navigate('http://cdn.abowman.com/widgets/spider/spider.swf') ; a spider goes around on the screen ....
; !! to use the spider.swf, you need to set $AlphaKey = 0xffffff on line 7 "!
While True
If _IsPressed("23", $hDLL) Then ExitLoop ; END key was pressed
Sleep(250)
WEnd
$oIE = ""
$hDLL = ""
GUIDelete($hBackground)