MFC中获取任务栏大小
MFC怎么获得当前屏幕大小
你可以这样
HWND hwnd=GetDesktopWindow();
RECT rect;
GetClientRect(hwnd,&rect);//可以得到桌面大小
还有就是上面所说的
int nScreenWidth, nScreenHeight;
nScreenWidth = GetSystemMetrics(SM_CXSCREEN);
nScreenHeight = GetSystemMetrics(SM_CYSCREEN);
获得桌面工作区大小,即不包括任务栏的大小,制作窗口全屏时经常用到,方法如下:
-
RECT rt;
-
SystemParametersInfo(SPI_GETWORKAREA,0,(PVOID)&rt,0);
获得任务栏高度与宽度方法有二:
1.判断位置
-
RECT rt;
-
SystemParametersInfo(SPI_GETWORKAREA, 0, &rt, 0) // 获得工作区大小
-
//任务栏在下面的高度
-
int y = ::GetSystemMetrics(SM_CYSCREEN)-rt.Height();
-
//上面
-
int y = rt.top;
-
// 左
-
int y = rt.left;
-
// 右
-
int y = ::GetSystemMetrics(SM_CXSCREEN)-rt.Width();
2.得到高度,然后可判断位置
-
CRect rect;
-
CWnd *pWndPrev= FindWindow("Shell_TrayWnd", ""); // 调用本对象即this的Findwindow函数,返回窗口指针
-
pWndPrev->GetWindowRect(&rect);
-
//rect.bottom-rect.top 就是任务栏的高度
-
if(rect.top>0) //下面
-
if(rect.left>0) //左面
-
或者
-
CWnd* p = NULL ;
-
HWND hwnd = ::FindWindow("Shell_TrayWnd",NULL) ; // 调用公有的FindWindow函数,返回窗口句柄
-
if(hwnd)
-
{
-
p = CWnd::FromHandle(hwnd) ;
-
}
-
p->GetWindowRect();//包含有宽度
参考资料:
http://zhoumf1214.blog.163.com/blog/static/5241940201032010451992/
相关文章
- C#-获取CPUID
- cocos2d-x改底层之获取UIListView的实际内容大小
- 自定义Hooks函数获取窗口大小(十一)
- 用深度学习来获取文本语义: 词向量应用于自然语言处理
- Activemq获取消息信息
- 限制Xamarin获取图片的大小
- Swift3.0语言教程使用Unicode范式标准化获取字符串
- js如何获取浏览器窗口的大小
- Android---- 获取当前应用的版本号和当前android系统的版本号
- Android 通用获取Ip的方法(判断手机是否联网的方法)!!!
- 【微信小程序/实现】实现获取微信个人信息
- SwiftUI 如何获取子视图的大小(PreferenceKey 和 reduce) 教程含源码
- SwiftUI 如何获取子视图的大小
- 获取系统开机的时间(Windows、Linux)
- Selenium2学习-034-WebUI自动化实战实例-032-获取页面 body 大小
- Selenium2学习-030-WebUI自动化实战实例-028-获取元素位置及大小
- 微信小程序获取头像open-type=“chooseAvatar“ bind:chooseavatar方法
- 微信公众号开发之access_token的获取
- java 获取对象大小
- 下载一首网络歌曲 该歌曲地址获取不到歌曲的大小,但可以正常播放
- 【HMS Core】运动健康服务历史数据获取、华为推送通道问题、集成分析服务后上架审核失败
- Swift - 根据图片URL获取图片的大小
- js获取页面元素距离浏览器工作区顶端的距离
- spring mvc DispatcherServlet详解之二---request通过Controller获取ModelAndView过程
- php 获取远程图片长宽和大小
- [转] C#获取电脑客户端IP地址及当前用户名