由於工作列可以隨便拖放到螢幕的任意位置(上下左右其中之一),螢幕解析度的不同工作列的大小也不同。
下面的代碼用來取得工作列的大小和位置:
''' <summary><br />''' 工作列<br />''' </summary><br />''' <remarks></remarks><br />Public Structure TaskBar</p><p> Public Bounds As Rectangle</p><p> Public DirectionF As Direction</p><p> Public Enum Direction<br /> Bottom = 0<br /> Left = 1<br /> Top = 2<br /> Right = 3<br /> End Enum</p><p>End Structure</p><p>Public Function GetTaskBarRect() As TaskBar</p><p> Dim tadkBarArea As New TaskBar '工作列地區<br /> Dim workingArea As Rectangle = Screen.GetWorkingArea(New Point(0, 0)) '工作區域<br /> Dim screenArea As Rectangle = Screen.GetBounds(New Point(0, 0)) '主畫面地區</p><p> '判斷左上方位置以確定工作列方向<br /> With workingArea.Location<br /> If .X = 0 AndAlso .Y = 0 AndAlso workingArea.Width = screenArea.Width Then<br /> tadkBarArea.DirectionF = TaskBar.Direction.Bottom</p><p> tadkBarArea.Bounds.X = 0<br /> tadkBarArea.Bounds.Y = workingArea.Height<br /> tadkBarArea.Bounds.Width = workingArea.Width<br /> tadkBarArea.Bounds.Height = screenArea.Height - workingArea.Height<br /> ElseIf .X > 0 Then<br /> tadkBarArea.DirectionF = TaskBar.Direction.Left</p><p> tadkBarArea.Bounds.X = 0<br /> tadkBarArea.Bounds.Y = 0<br /> tadkBarArea.Bounds.Width = screenArea.Width - workingArea.Width<br /> tadkBarArea.Bounds.Height = workingArea.Height<br /> ElseIf .X = 0 AndAlso .Y > 0 Then<br /> tadkBarArea.DirectionF = TaskBar.Direction.Top</p><p> tadkBarArea.Bounds.X = 0<br /> tadkBarArea.Bounds.Y = 0<br /> tadkBarArea.Bounds.Width = workingArea.Width<br /> tadkBarArea.Bounds.Height = screenArea.Height - workingArea.Height<br /> ElseIf .X = 0 AndAlso .Y = 0 AndAlso workingArea.Height = screenArea.Height Then<br /> tadkBarArea.DirectionF = TaskBar.Direction.Right</p><p> tadkBarArea.Bounds.X = workingArea.Right<br /> tadkBarArea.Bounds.Y = 0<br /> tadkBarArea.Bounds.Width = workingArea.Width<br /> tadkBarArea.Bounds.Height = workingArea.Height<br /> End If<br /> End With</p><p> Return tadkBarArea</p><p>End Function<br />