回 帖 发 新 帖 刷新版面

主题:如何知道windows任务栏的高度

[size=3]用screen.width可以知道任务栏的宽度,那高度通过什么取得呢?请赐救![/size]

回复列表 (共5个回复)

沙发

Screen = 任务栏 ?

如果用户把任务栏拖到左边或右边呢?

板凳

一头雾水

3 楼

Option Explicit

Private Type RECT
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type

Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
   
Private Sub Command1_Click()
Dim hwnd As Long, traywidth As Long, trayheight As Long, TaskRect As RECT
hwnd = FindWindow("Shell_traywnd", "")
GetWindowRect hwnd, TaskRect
traywidth = TaskRect.Right - TaskRect.Left '宽度
trayheight = TaskRect.Bottom - TaskRect.Top '高度
MsgBox "任务栏宽:" & traywidth & "," & "任务栏高:" & trayheight
End Sub

4 楼

[quote]Screen = 任务栏 ?

如果用户把任务栏拖到左边或右边呢?[/quote]

这个。。。流汗中。。。

5 楼

GetSystemMetrics(SM_CYSCREEN) - GetSystemMetrics(SM_CYFULLSCREEN)

我来回复

您尚未登录,请登录后再回复。点此登录或注册