ok, here's an automagic method - use a timer to fire a routine that counts the number of monitors and if the numbers don't match, reload
put this bit at the top of your script (DialogMove)
sysget, Count, monitorcount
settimer, Mon_Count,10000
put this bit at the bottom of your script
Mon_Count:
sysget, tmp_, monitorcount
if tmp_ = %count%
return
reload
return
you could reload any number of scripts/apps using run commands, or you could do this from a list (ini), but you need to make sure to add the run commands before the reload command, and any other AHK scripts will need to use #singleinstance, force
NOTE - I don't have multiple monitors so this is untested, but it
should work