#include #include #include Opt("GUIOnEventMode", 1) #Region ### START Koda GUI section ### Form= Global $Form1 = GUICreate("Form1", @DesktopWidth,@DesktopHeight) GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close") GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1Minimize") GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1Maximize") GUISetOnEvent($GUI_EVENT_RESTORE, "Form1Restore") Global $Icon1 = GUICtrlCreateIcon(@ProgramFilesDir&"\AutoIt3\Icons\MyAutoIt3_Yellow.ico", -1, 5, 5, 32, 32) GUICtrlSetOnEvent(-1, "Icon1Click") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### Global $EscapeFollow = 1 Global $IconCenterLeft, $IconCenterTop While 1 Sleep(10) WEnd Func Form1Close() Exit EndFunc Func Form1Maximize() EndFunc Func Form1Minimize() EndFunc Func Form1Restore() EndFunc Func Icon1Click() If $EscapeFollow = 1 Then $EscapeFollow = 0 GUISetOnEvent($GUI_EVENT_MOUSEMOVE, "_IconFollowMouse") GUICtrlSetOnEvent($Icon1, "_IconPasteAtPosition") GUISetOnEvent($GUI_EVENT_SECONDARYDOWN, "_EscapeFollow") GUICtrlSetCursor ($Icon1, 16) Else $EscapeFollow = 1 EndIf EndFunc Func _IconFollowMouse() $IconCenterLeft = MouseGetPos(0) - 16 $IconCenterTop = MouseGetPos(1) - 16 GUICtrlSetPos($Icon1,$IconCenterLeft,$IconCenterTop,32,32) EndFunc Func _IconPasteAtPosition() GUICtrlCreateIcon(@ProgramFilesDir&"\AutoIt3\Icons\MyAutoIt3_Yellow.ico", -1, $IconCenterLeft, $IconCenterTop, 32, 32) GUISetOnEvent($GUI_EVENT_MOUSEMOVE, "DoNothing") GUICtrlSetPos($Icon1,5,5,32,32) GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "") GUISetOnEvent($GUI_EVENT_SECONDARYDOWN, "") GUICtrlSetCursor ($Icon1, -1) $EscapeFollow = 1 GUICtrlSetOnEvent($Icon1, "Icon1Click") EndFunc Func _EscapeFollow() GUISetOnEvent($GUI_EVENT_MOUSEMOVE, "DoNothing") GUICtrlSetPos($Icon1,5,5,32,32) GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "") GUISetOnEvent($GUI_EVENT_SECONDARYDOWN, "") GUICtrlSetCursor ($Icon1, -1) $EscapeFollow = 1 GUICtrlSetOnEvent($Icon1, "Icon1Click") EndFunc Func DoNothing() EndFunc