生活随笔
收集整理的這篇文章主要介紹了
VC++获取屏幕大小第三篇 物理大小GetDeviceCaps 下
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本篇文章(MoreWindows)將獲取屏幕的物理大小后計算屏幕對角線長度并換算成英寸。這樣可以方便大家查看自己電腦屏幕是多少英寸的。為了更方便大家使用,本文將提供電腦屏幕大小查看器下載(配源碼)下載地址是(歡迎大家試用):
http://download.csdn.net/detail/morewindows/5106270
?
??? 通常大家在表示電腦、電視、手機等電子產品的屏幕大小時會使用英寸這一長度單位來描述。要注意的一點時,英寸在描述電腦、電視、手機等電子產品的屏幕大小時是指屏幕的對角線長度。
??? 英寸(inch,縮寫為in.)在荷蘭語中的本意是大拇指,一英寸就是一節大拇指的長度。當然人的大拇指的長度也是長短不一的。14世紀時,英皇愛德華二世頒布了“標準合法英寸”。其規定為:從大麥穗中間選擇三粒最大的麥粒并依次排成一行的長度就是一英寸。
英寸與毫米的換算關系為:
????????? 1英寸 = 25.4毫米
????????? 1毫米 = 0.03937英寸
http://blog.csdn.net/morewindows/article/details/8610891
?
??? 根據這一換算公式,可以改寫下《VC++獲取屏幕大小第二篇物理大小GetDeviceCaps 上》中的代碼,讓其直接計算出屏幕是多少英寸的。改寫后的代碼如下:
[cpp] view plaincopy print?
??#include?<stdio.h>??#include?<conio.h>??#include?<math.h>??#include?<windows.h>??int?main()??{??????printf("????獲取屏幕大小?物理大小\n");??????????????printf("?--?By?MoreWindows(?http://blog.csdn.net/MoreWindows?)?--\n\n");???????????????int?nScreenWidth,?nScreenHeight;??????HDC?hdcScreen?=?GetDC(NULL);?????????nScreenWidth?=?GetDeviceCaps(hdcScreen,?HORZSIZE);??????nScreenHeight?=?GetDeviceCaps(hdcScreen,?VERTSIZE);????????????printf("屏幕大小(毫米)?寬:%d?高:%d\n",?nScreenWidth,?nScreenHeight);??????printf("????下面將屏幕大小由毫米換算到英寸\n");??????const?double?MILLIMETRE_TO_INCH?=?0.03937;??????double?fDiagonalLen?=?sqrt(nScreenHeight?*?nScreenHeight?+?nScreenWidth?*?nScreenWidth);??????printf("屏幕對角線長為:%.2lf毫米?約?%.2lf英寸\n",?fDiagonalLen,?fDiagonalLen?*?MILLIMETRE_TO_INCH);??????getch();??????return?0;??}??
// 獲取屏幕大小 物理大小
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <windows.h>
int main()
{printf(" 獲取屏幕大小 物理大小\n"); printf(" -- By MoreWindows( http://blog.csdn.net/MoreWindows ) --\n\n"); int nScreenWidth, nScreenHeight;HDC hdcScreen = GetDC(NULL); //獲取屏幕的HDCnScreenWidth = GetDeviceCaps(hdcScreen, HORZSIZE);nScreenHeight = GetDeviceCaps(hdcScreen, VERTSIZE);printf("屏幕大小(毫米) 寬:%d 高:%d\n", nScreenWidth, nScreenHeight);printf(" 下面將屏幕大小由毫米換算到英寸\n");const double MILLIMETRE_TO_INCH = 0.03937;double fDiagonalLen = sqrt(nScreenHeight * nScreenHeight + nScreenWidth * nScreenWidth);printf("屏幕對角線長為:%.2lf毫米 約 %.2lf英寸\n", fDiagonalLen, fDiagonalLen * MILLIMETRE_TO_INCH);getch();return 0;
}
運行結果如下:
?
呵呵,本人筆記本的屏幕大小是13.64英寸即商家所稱的14英寸筆記本。
?
?
根據這份代碼可以發布個小程序,供其它人用來查看電腦屏幕大小。可惜由于GetDeviceCaps函數的限制,在Win7系統下該程序檢測結果不準確,WinXP系統下基本上可以正確運行。
電腦屏幕大小查看器的下載地址為(附源碼):http://download.csdn.net/detail/morewindows/5106270
?
?
轉載請標明出處,原文地址:http://blog.csdn.net/morewindows/article/details/8610891
總結
以上是生活随笔為你收集整理的VC++获取屏幕大小第三篇 物理大小GetDeviceCaps 下的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。