#NoTrayIcon
#include <GUIConstantsEx.au3>
#include <WinAPISys.au3>
#include <MouseOnEvent.au3>
HotKeySet('{ESC}', '_Exit')
Global $fClick = False
Global $fFull = True
Global $iThickness = 4
Global $iSize = 22
Global $iDuration = 100
Global $nColor = 0xFF8080
Global $nInColor = 0xFFFFFF
Global $iTransparency = 255 ;Set Lower for transparency
Global $sSound = @WindowsDir & '\Media\Windows Navigation Start.wav'
$hGUI = GUICreate('', $iSize, $iSize, 0, 0, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW, $WS_EX_TRANSPARENT, $WS_EX_LAYERED))
GUISetBkColor(0xABCDEF, $hGUI)
_WinAPI_SetLayeredWindowAttributes($hGUI, 0xABCDEF, $iTransparency)
GUICtrlCreateGraphic(0, 0, $iSize, $iSize)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetGraphic(-1, $GUI_GR_PENSIZE, $iThickness)
GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $nColor)
GUICtrlSetGraphic(-1, $GUI_GR_ELLIPSE, 2, 2, $iSize - 4, $iSize - 4)
If $fFull Then
GUICtrlCreateGraphic($iThickness, $iThickness, $iSize - ($iThickness * 2), $iSize - ($iThickness * 2))
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetGraphic(-1, $GUI_GR_PENSIZE, $iThickness * 2)
GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $nInColor)
GUICtrlSetGraphic(-1, $GUI_GR_ELLIPSE, 2, 2, $iSize - ($iThickness * 2) - 4, $iSize - ($iThickness * 2) - 4)
EndIf
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, '_Mouse_Events')
_MouseSetOnEvent($MOUSE_PRIMARYUP_EVENT, '_Mouse_Events')
_MouseSetOnEvent($MOUSE_MOVE_EVENT, '_Mouse_Events')
While 1
If $fClick Then
$fClick = False
If $sSound Then
SoundPlay($sSound)
EndIf
$aMPos = MouseGetPos()
WinMove($hGUI, '', $aMPos[0] - ($iSize / 2), $aMPos[1] - ($iSize / 2))
GUISetState(@SW_SHOWNA, $hGUI)
Sleep($iDuration)
GUISetState(@SW_HIDE, $hGUI)
EndIf
Sleep(10)
WEnd
Func _Mouse_Events($iEvent)
Switch $iEvent
Case $MOUSE_PRIMARYUP_EVENT
$fClick = True
Case $MOUSE_MOVE_EVENT, $MOUSE_PRIMARYDOWN_EVENT
GUISetState(@SW_HIDE, $hGUI)
;SoundPlay('')
EndSwitch
EndFunc
Func _Exit()
Exit
EndFunc