When called, it counts the number of monitors and displays their appropriate number on each monitor.
It looks good so far on 2 monitors, but I don't have a way to try it on more at the moment.
Currently, the display time (time it stays up for), text color, and text size can be changed when called.
Just #Include IDMonitors.ahk and you're good to go!
Code: Select all
;Usage is IDMonitors().
;The display time can be set (in milliseconds).
;The Text color can be set in RGB format.
;The Text Size can also be set.
IDMonitors(disptime=1500,txtcolor="000000",txtsize=300)
{
SysGet, MonNum, MonitorCount
TPColor = AABBCC
GuiNum = 50
Loop %MonNum%
{
SysGet, Mon%A_Index%, Monitor, %A_Index%
x := Mon%A_Index%Left
Gui, %GuiNum%:+LastFound +AlwaysOnTop -Caption +ToolWindow
Gui, %GuiNum%:Color, %TPColor%
WinSet, TransColor, %TPColor%
Gui, %GuiNum%:Font, s%txtsize% w700
Gui, %GuiNum%:Add, Text, x0 y0 c%txtcolor%, %A_Index%
Gui, %GuiNum%:Show, x%x% y0 NoActivate
GuiNum++
}
Sleep, %disptime%
GuiNum = 50
Loop %MonNum%
{
Gui, %GuiNum%:Destroy
GuiNum++
}
}
Comments and improvements on the code definitely welcome.