我們在做專案的時候,往往會有想要獲取螢幕的解析度的需求。現在我們就來總結一下如何獲取螢幕解析度,不管是單屏還是多屏。
rect deskrect
getwindowrect(getdesktopwindow(),&deskrect)
該函式只能獲取主屏的解析度,也就是說如果有多個顯示器的話,這個函式只能獲取主屏解析度。
而且該函式獲得的結果會受螢幕縮放影響,比如原分變率為19201080,且在顯示設定裡設定了125%的縮放的話,得到的結果為1536864。如果縮放為100%的話,結果為1920*1080。
hdc hdc = getdc(null)
int hdcwidth, hdcheight
hdcwidth = getdevicecaps(hdc, desktophorzres)
hdcheight = getdevicecaps(hdc, desktopvertres)
releasedc(null, hdc)
該方法也是只能獲取主屏解析度,與第一種方法一樣,所不同的是它是無視縮放的。即不管你縮放是100%還是125%還是多少,得到的結果都是1920*1080。
int allx = getsystemmetrics(sm_cxscreen)
int ally = getsystemmetrics(sm_cyscreen)
該方法也是只能獲取主屏解析度,與第一種方法得到的結果一模一樣,受縮放影響
struct allmonitorinfo
; bool callback monitorenumproc
(__in hmonitor hmonitor, __in hdc hdcmonitor, __in lprect lprcmonitor, __in lparam dwdata)
return true;
}int
main()
第四種方法裡面包括兩種方法,只是getmonitorinfo函式需要相應的顯示器控制代碼,所以我就放在了一起。
這些方法試下來,只有第四種方法能獲取到主屏外的其他螢幕解析度,但是都是受縮放影響的。
獲取螢幕的解析度 多螢幕或者單螢幕
我們在做專案的時候,往往會有想要獲取螢幕的解析度的需求。現在我們就來總結一下如何獲取螢幕解析度,不管是單屏還是多屏。1 rect deskrect getwindowrect getdesktopwindow deskrect 該函式只能獲取主屏的解析度,也就是說如果有多個顯示器的話,這個函式只能獲...
獲取手機螢幕解析度
獲取手機螢幕解析度的類 displaymetrics dm new displaymetrics getwindowmanager getdefaultdisplay getmetrics dm 獲得手機的寬頻和高度畫素單位為px string str 手機螢幕解析度為 dm.widthpixels...
IOS獲取螢幕解析度
from 獲取螢幕解析度是個很有用的功能,尤其在一些遊戲相關的開發中,圖形的繪製與螢幕解析度密不可分。得到當前螢幕的解析度是必不可少的支援。獲取螢幕解析度可以兩步走 1 得到當前螢幕的尺寸 cgrect rect screen uiscreen mainscreen bounds cgsize si...