繁体   English   中英

如何获取Windows Mobile 6.5.3下部菜单栏的高度

[英]How to get the height of the lower menu bar of windows mobile 6.5.3

在Windows Mobile 6.5.3上,有什么方法可以获取下一级菜单栏(带有开始菜单的菜单栏)的高度? 我可以使用不同的方式来获取上层菜单栏的高度,例如使用SystemParametersInfo函数并将SPI_GETWORKAREA作为其uiAction参数发送,或者使用GetMonitorInfo函数,但是所有这些功能都可以帮助计算上层菜单栏的高度。

在早期版本的Windows Mobile中,上下栏的高度是标准的,QVGA设备为26像素,VGA设备为52像素,但是在Windows Mobile 6.5.3中情况并非如此,其中上栏的高度为18岁以下,只有上帝知道的较低级:)

预先感谢您的任何帮助。

艾曼

它实际上称为下部任务栏。

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

这使您可以处理任务栏。 然后,您可以使用GetWindowRect获取任务栏的四个角,并通过从底部减去顶部来计算高度。 如果未找到HHTaskBar,则托盘可以工作。

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM