得到屏幕大小的方法 原文链接:http://blog.csdn.net/mycaibo/article/details/6034343

现在计算机就像买白菜一样,规格各异。有时候需要检测电脑的屏幕大小,以适应软件的需求。现总结如下,欢迎大家添加,一是增张我的见识,二是方便大家查询。
 
1.使用GetSystemMetrics()函数:如:
int   cx   =   GetSystemMetrics(SM_CXFULLSCREEN); //得到宽度int   cy   =   GetSystemMetrics(SM_CYFULLSCREEN); //得到高度
注意SM_CXSCREEN和SM_CYSCREEN与上面的区别。
2.使用GetDeviceCaps()函数,如:
int   cx   =   ::GetDeviceCaps(dc.m_hDC,HORZRES); 
int   cy   =   ::GetDeviceCaps(dc.m_hDC,VERTRES);
3.使用SystemParametersInfo()函数,如:
CRect rt;
SystemParametersInfo(SPI_GETWORKAREA, 0, r,t 0);
4.使用EnumDisplaySettings()函数,如:
DEVMODE dm;
dm.dmSize = sizeof(DEVMODE) ;
EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&dm);
int  cx   =  dm.dmPelsWidth;
int  cx   =  dm.dmPelsHeight;
5.使用GetWindowRect()函数,如:
CWnd * pwndDesktop = GetDesktopWindow();CRect rt;pwndDesktop->GetWindowRect(&rt);int cx =rt.Width();
Int cy = rt.Height();
 
附加:
1.int cx = GetSystemMetrics(SM_CXFULLSCREEN); 
int cy = GetSystemMetrics(SM_CYFULLSCREEN);
通过上边两个函数获取的是显示屏幕的大小,及不包括任务栏等区域。
 
int   cx   =   GetSystemMetrics(   SM_CXSCREEN   );   
int   cy   =   GetSystemMetrics(   SM_CYSCREEN   );
这两个函数获取的是真正屏幕的大小。
 
用前两个函数获取的大小可能是1024*687    而用下边两个获取的就是1024*768
2. 得到任务栏大小: 
CWnd* pTaskWnd = FindWindow( _T("Shell_TrayWnd"), NULL ); 
if( pTaskWnd ) pTaskWnd->ShowWindow( FALSE ); 
3.任务栏是否隐藏: 
LONG lStyle = GetWindowLong( pTaskWnd->GetSafeHwnd(), GWL_STYLE ); 
if( lStyle & WS_VISIBLE ) 
{ 
//可见 
} 
else 
{ 
//隐藏 
}
时间: 2024-11-03 21:44:36

得到屏幕大小的方法 原文链接:http://blog.csdn.net/mycaibo/article/details/6034343的相关文章

深入浅出MyBatis-Configuration 原文链接http://blog.csdn.net/hupanfeng/article/details/9080545

Configuration是干嘛的 Configuration就像是Mybatis的总管,Mybatis的所有配置信息都存放在这里,此外,它还提供了设置这些配置信息的方法. Configuration可以从配置文件里获取属性值,也可以通过程序直接设置.Configuration里可供配置的属性有: 1.       properties属性 1)       配置示例 [html] view plaincopy <properties resource="org/mybatis/examp

.net反射详解 原文://http://blog.csdn.net/wenyan07/article/details/27882363

概述反射 通过反射可以提供类型信息,从而使得我们开发人员在运行时能够利用这些信息构造和使用对象. 反射机制允许程序在执行过程中动态地添加各种功能. 运行时类型标识 运行时类型标识(RTTI),可以在程序执行期间判定对象类型.例如使用它能够确切地知道基类引用指向了什么类型对象. 运行时类型标识,能预先测试某个强制类型转换操作,能否成功,从而避免无效的强制类型转换异常. 在c#中有三个支持RTTI的关键字:is . as  .typeof. 下面依次介绍他们 is运算符: 通过is运算符,能够判断对

在Eclipse中设置进行JNI的头文件编译方法(转 http://blog.csdn.net/mirkerson/article/details/17187109)

这两天在搞NDK开发,JNI的头文件进行编译的时候,要跑到对应的class文件路径下(通常是工程的bin目录),进行编译生成,很是不便,也容易出错,所以考虑在Eclipse中作为外部工具引入,所以便查了下资料,现记录下来. 方法是: 1.在Eclipse环境下,打开下图中的最右边那个按钮. 2.新建一个Program,写上名字比如“javaH”,然后填写下面几项内容: 2.1.Location:把JDK下面的javaH.exe的全路径填进来. 2.2.Working Directory: Jav

ALLOCATE语句分配FORTRAN动态数组方法(转自http://blog.csdn.net/zhuxianjianqi/article/details/8067174)

数组的动态分配 a)    可分配数组 数组可以是静态的也可以是动态的.如果数组是静态的,则在编译时就被分配了固定的储存空间,并且直到程序退出时才被释放.程序运行时静态数组的大小不能改变.静态数组的缺陷是,即使数组已经使用完毕,它仍占据着内存空间,浪费了系统资源.在给定的计算机内存资源情况下,耗费了其他数组可以利用的内存,并且超过资源的数组将导致程序执行错误.因此,F90增加了动态的数组功能,动态数组的储存在程序运行当中是可以分配.改变和释放的. 动态数组只有两种:可分配数组和自动数组.自动数组

转载(android:gravity , andorid:layout_gravity)原文:http://blog.csdn.net/feng88724/article/details/6333809

[Android布局]在程序中设置android:gravity 和 android:layout_Gravity属性 分类: [Android基础]2011-04-19 16:06 181684人阅读 评论(76) 收藏 举报 androidlayoutbuttonjava网络ui 在进行UI布局的时候,可能经常会用到 android:gravity  和 android:layout_Gravity 这两个属性. 关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一下. (资料来

WPF绘画和动画(原文:http://blog.csdn.net/fwj380891124/article/details/8177125 )

1.1   WPF绘图 与传统的.net开发使用GDI+进行绘图不同,WPF拥有自己的一套绘图API.使用这套API不但可以轻松绘制出精美的图形,还可以为各种图形添加类似与PhotoShop的"滤镜效果"及"变形效果".本节我们就一起研究WPF图形API绘图,效果和变形等功能. 先观察下面一组图片: 显然,这组图片是矢量图(Vector Image),无论怎样放大缩小都不会出现锯齿.你可能会想:"这是组PNG格式的图片吗?"答案是"NO

as3 页游中,新手指导中,屏蔽所有交互对象,但除了指定交互对象可用的方法【转http://blog.csdn.net/linjf520/article/details/9450945】

package { import flash.display.InteractiveObject; import flash.display.Stage; import flash.events.MouseEvent; /** * 新手指导管理器 * @author jave.lin * @date 2013-7-24 */ public class GuideManager{ private static var stage:Stage; /**设置舞台*/ public static fun

笔记1:jmeter性能测试使用示例(原文:http://blog.csdn.net/zhongweijian/article/details/7619319)

jmeter是一个简单开源的纯java的性能测试工具.今天学习了jmeter使用了下jmeter,使用起来非常简单. 如果我们要对163的首页性能进行简单测试,我们可以按照以下步骤进行. 1.在测试计划里面创建一个线程组,在这个线程组下这个线程组的线程数,也就是并发用户数,循环次数每个并发用户的请求数.参数 ramp-up period 用于告知JMeter 要在多长时间内建立全部的线程.默认值是0.假如未指定ramp-up period ,也就是说ramp-up period 为零, JMet

开源蜘蛛集合(转自haizhiguang博客,链接:http://blog.csdn.net/haizhiguang/article/details/20209573)

各种蜘蛛: Heritrix   点击次数:1458 Heritrix是一个开源,可扩展的web爬虫项目.Heritrix设计成严格按照robots.txt文件的排除指示和META robots标签.  WebSPHINX   点击次数:777 WebSPHINX是一个Java类包和Web爬虫的交互式开发环境.Web爬虫(也叫作机器人或蜘蛛)是可以自动浏览与处理Web页面的程序.WebSPHINX由两部分组成:爬虫工作平台和WebSPHINX类包.  J-Spider   点击次数:1008 J