Use the Screen
object.
Getting the monitor count
ShowMessage(IntToStr(Screen.MonitorCount))
Getting monitor details
Screen.Monitors[i].Left (integer)
.Top (integer)
.Width (integer)
.Height (integer)
.BoundsRect (TRect)
.WorkareaRect (TRect)
.Primary (boolean)
where i is the index of the monitor, that is, i = 0, 1, ..., Screen.MonitorCount - 1
.
So, for instance, to make the form occupy the entire ith monitor, use
BoundsRect := Screen.Monitors[i].BoundsRect; // or you could make the rect smaller
WindowState := wsMaximized; // possibly