djvj icon

monitor test script

djvj | PRO | 01/19/16 04:25:23 PM UTC | 0 ⭐ | 574 👁️ | Never ⏰ | []
text |

2.27 KB

|

None

|

0 👍

/

0 👎

#Include, %A_ScriptDir%\Module Extensions\CLR_L.ahk
#Include, %A_ScriptDir%\Lib\RL.ahk
moduleExtensionsPath := A_ScriptDir . "\Module Extensions"
 rocketLauncherDllFile := moduleExtensionsPath . "\RocketLauncher.dll"
RLObject := RL_start(rocketLauncherDllFile)
monitorTable := BuildMonitorObject()
Loop % monitorTable.MaxIndex()
{
	msgbox % "monitorTable.PrimaryMonitor: " . monitorTable.PrimaryMonitor . "`nmonitorTable.Number: " . monitorTable[A_Index].Number . "`nmonitorTable.Name: " . monitorTable[A_Index].Name . "`nmonitorTable.Orientation: " . monitorTable[A_Index].Orientation . "`nmonitorTable.Left: " . monitorTable[A_Index].Left . "`nmonitorTable.Right: " . monitorTable[A_Index].Right . "`nmonitorTable.Top: " . monitorTable[A_Index].Top . "`nmonitorTable.Bottom: " . monitorTable[A_Index].Bottom . "`nmonitorTable.Width: " . monitorTable[A_Index].Width . "`nmonitorTable.Height: " . monitorTable[A_Index].Height . "`nmonitorTable.WorkingWidth: " . monitorTable[A_Index].WorkingWidth . "`nmonitorTable.WorkingHeight: " . monitorTable[A_Index].WorkingHeight
}
 exitapp
 BuildMonitorObject() {
	Global RLObject,primMonitor
	obj := Object()
	monOrientation := Object(0,"Landscape",1,"Portrait",2,"Landscape (Flipped)",3,"Portrait (Flipped)")
	getDisplaySettingsObj := Object(1,"Width",2,"Height",3,"BitDepth",4,"Frequency",5,"Orientation")
	SysGet, MonitorCount, 80
	SysGet, primMonitor, MonitorPrimary
	obj.PrimaryMonitor := primMonitor
	Loop, %MonitorCount%
	{
		SysGet, MonitorName, MonitorName, %A_Index%
		SysGet, Monitor, Monitor, %A_Index%
		SysGet, MonitorWorkArea, MonitorWorkArea, %A_Index%
		currentobj:={}
		currentobj.Number := A_Index
		currentobj.Name := MonitorName
		monDetails := RL_getDisplaySettings(MonitorName)
		Loop, Parse, monDetails, |
			currentObj[getDisplaySettingsObj[A_Index]] := A_LoopField
		currentobj.Orientation := monOrientation[currentobj.Orientation]
		currentobj.Left := MonitorLeft
		currentobj.Right := MonitorRight
		currentobj.Top := MonitorTop
		currentobj.Bottom := MonitorBottom
		currentobj.WorkingWidth := MonitorWorkAreaRight - MonitorWorkAreaLeft
		currentobj.WorkingHeight := MonitorWorkAreaBottom - MonitorWorkAreaTop
		obj.Insert(currentobj["Number"], currentobj)
	}
	Return obj
}
 ScriptError(txt) {
	msgbox % txt
}

Comments