Windows mobile 如何获取windows mobile 6.5.3下菜单栏的高度

Windows mobile 如何获取windows mobile 6.5.3下菜单栏的高度,windows-mobile,menubar,Windows Mobile,Menubar,在windows mobile 6.5.3上,是否有任何可能的方法可以获取下部菜单栏的高度(带有“开始”菜单的菜单栏)?我可以使用不同的方法获得上部菜单栏的高度,例如使用function SystemParametersInfo和sending SPI_GETWORKAREA作为其uiAction参数,或者使用GetMonitorInfo函数,但所有这些函数都可以帮助计算上部菜单栏的高度 在以前版本的windows mobile中,上下栏的高度是标准的,QVGA设备为26像素,VGA设备为52像

在windows mobile 6.5.3上,是否有任何可能的方法可以获取下部菜单栏的高度(带有“开始”菜单的菜单栏)?我可以使用不同的方法获得上部菜单栏的高度,例如使用function SystemParametersInfo和sending SPI_GETWORKAREA作为其uiAction参数,或者使用GetMonitorInfo函数,但所有这些函数都可以帮助计算上部菜单栏的高度

在以前版本的windows mobile中,上下栏的高度是标准的,QVGA设备为26像素,VGA设备为52像素,但windows mobile 6.5.3中的情况并非如此,上栏的高度为18,下栏的高度目前只有上帝知道:)

提前感谢您的帮助


Ayman实际上被称为下任务栏

hTBWnd=FindWindow(_T(“HHTaskBar”),NULL)

这将获得任务栏的句柄。然后可以使用GetWindowRect获取任务栏的四个角,并通过从底部减去顶部来计算高度。如果找不到任务栏,托盘可能会工作

HWND hTBWnd;
RECT windowRect;

hTBWnd = FindWindow(_T("HHTaskBar"), NULL);
if (hTBWnd != NULL) 
{
  GetWindowRect(hwnd, &windowRect);
  CString csLongAsString;
  csLongAsString.Format( _T( "Height: %ld" ), windowRect.bottom - windowRect.top );
  MessageBox(NULL, csLongAsString, _T("HHTaskBar"), MB_OK);
  return(0);
} else
{
  hTBWnd = FindWindow(_T("Tray"), NULL);
  if (hTBWnd != NULL) 
  {
    GetWindowRect(hwnd, &windowRect);
    CString csLongAsString;
    csLongAsString.Format( _T( "Height: %ld %ld" ), windowRect.bottom, windowRect.top );
    MessageBox(NULL, csLongAsString, _T("Tray"), MB_OK);
  } else 
  {
    MessageBox(NULL, _T("Window get failed"), _T("FAILED TO FIND WINDOW"), MB_OK);
    return(0);
  }
}

事实上,我试过任务栏,但没有成功,但我会尝试托盘,看看它是否有效,谢谢:)
Rectange toolBarRect = GetWindowRect(toolBar.Handle);