 					scrFreqLast := scrFreq
 					Strng := scrWidth . " `, " . scrHeight . " @ " . scrFreq "Hz |"
 					ResList .= Strng
+					ResTmpArray[1].Push(scrWidth)
+					ResTmpArray[2].Push(scrHeight)
+					ResTmpArray[3].Push(scrFreq)
+					iModeVal++
 					}
 				}
 				else

WinMover(PrgLnchOpt.Hwnd(), "d r")   ; "dr" means "down, right"

	if (!FindStoredRes(ResIndexHwnd))
	{
	GuiControl, PrgLnchOpt: ChooseString, ResIndex, % PrgLnchOpt.MonCurrResStrng
	SplashImage, PrgLnchLoading.jpg, A B,,, LnchSplash
	}
	;ChooseString may fail if frequencies differ. Meh!
	if (PrgPID)
	{

	lnchPrgIndex := PrgBatchIni%btchPrgPresetSel%[batchPrgStatus]
	temp := PrgChoicePaths[lnchPrgIndex]

	WinMover(, , , , "*Launching")
	sleep, % (!PrgIntervalLnch)? 2000: (PrgIntervalLnch == -1)? 4000: 6000
	targMonitorNum := PrgMonToRn[lnchPrgIndex]
	iDevNoFunc(txtPrgChoice, lnchPrgIndex, PrgLnkInf, targMonitorNum, scrWidthArr, scrHeightArr, scrFreqArr)

	}
	else
	{
	lnchPrgIndex := -PrgBatchIni%btchPrgPresetSel%[batchPrgStatus]
	temp := PrgChoicePaths[-lnchPrgIndex]
	targMonitorNum := PrgMonToRn[-lnchPrgIndex]
	iDevNoFunc(txtPrgChoice, -lnchPrgIndex, PrgLnkInf, targMonitorNum, scrWidthArr, scrHeightArr, scrFreqArr)
	}

	lnchStat := 1
