有没有办法在Windows Mobile 6.5.3上获得下方菜单栏的高度 - 带有开始菜单的高度?我可以使用不同的方式获取上部菜单栏的高度,例如使用函数SystemParametersInfo并发送SPI_GETWORKAREA作为其uiAction参数,或使用GetMonitorInfo函数,但所有这些函数都可以帮助计算上部菜单栏的高度。 / p>
对于以前版本的windows mobile,上下条的高度是标准的,QVGA设备为26像素,VGA设备为52像素,但在windows mobile 6.5.3中并非如此身高18岁,上帝唯一知道的就是现在:)
提前感谢您的帮助。
艾曼
答案 0 :(得分:0)
它实际上被称为下方任务栏。
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);
}
}
答案 1 :(得分:0)
Rectange toolBarRect = GetWindowRect(toolBar.Handle);