Windows mobile 如何获取windows mobile 6.5.3下菜单栏的高度
在windows mobile 6.5.3上,是否有任何可能的方法可以获取下部菜单栏的高度(带有“开始”菜单的菜单栏)?我可以使用不同的方法获得上部菜单栏的高度,例如使用function SystemParametersInfo和sending SPI_GETWORKAREA作为其uiAction参数,或者使用GetMonitorInfo函数,但所有这些函数都可以帮助计算上部菜单栏的高度 在以前版本的windows mobile中,上下栏的高度是标准的,QVGA设备为26像素,VGA设备为52像素,但windows mobile 6.5.3中的情况并非如此,上栏的高度为18,下栏的高度目前只有上帝知道:) 提前感谢您的帮助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像
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);