[英]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.