獲取螢幕dc並且將其畫面顯示在窗體中

2021-04-25 01:52:19 字數 1392 閱讀 1389

hwnd hwnd = ::getdesktopwindow();//獲得螢幕的hwnd.

hdc hscreendc = ::getdc(hwnd);   //獲得螢幕的hdc.

hdc memdc = ::createcompatibledc(hscreendc);

rect rect;

::getwindowrect(hwnd,&rect);

size screensize;

screensize.cx=rect.right-rect.left;

screensize.cy=rect.bottom-rect.top;

hbitmap = ::createcompatiblebitmap(hscreendc,screensize.cx,screensize.cy);

hgdiobj holdbmp = ::selectobject(memdc,hbitmap);

::bitblt(memdc,0,0,screensize.cx,screensize.cy,hscreendc,rect.left,rect.top,srccopy);//將螢幕畫布拷貝到記憶體畫布上

::selectobject(memdc,holdbmp);

::deleteobject(memdc);

::releasedc(hwnd,hscreendc);

cdc *pdc=getdc();//獲取窗體的cdc

hdc ddlgdc=pdc->m_hdc;//獲取窗體的hdc

hdc memdc1 = createcompatibledc(ddlgdc);//建立畫布

hgdiobj holdbmp1 = ::selectobject(memdc1,hbitmap);//選入畫布

::stretchblt(ddlgdc,0,0,600,400,memdc1,0,0,screensize.cx,screensize.cy,srccopy);//將記憶體畫布縮略顯示到窗體中

::selectobject(memdc1,holdbmp1);//選出畫布

::deleteobject(memdc1);//刪除記憶體hdc

::releasedc(m_hwnd,ddlgdc);//釋放實際窗體的hdc

windows ap:

hdc getdc(  hwndhwnd

// handle to window);

parameters

hwnd

[in] handle to the window whose dc is to be retrieved. if this value is null,getdcretrieves the dc for the entire screen.

獲取螢幕大小

螢幕的大小有兩種情形 1 整個螢幕的大小,包括工具欄的大小。方法是用函式 intwinapigetsystemmetrics in int nindex 用法 int xscreen getsystemmetrics sm cxfullscreen screen widthint yscreen g...

獲取螢幕尺寸

我建立了一些自定義元素,想通過程式設計將它們放到右上角 距上部邊緣n畫素,右部邊緣m畫素 因此我需要知道螢幕具體的寬度和高度,然後確定具體的位置 1 2 int px screenwidth m int py screenwidth n 請問,在activity如何獲取螢幕的寬度和高度呢?答 jos...

獲取螢幕高度

想要網頁自適應,無論如何都要先獲取螢幕高度,給最外層的div,有利於也裡面的布局。vue中獲取螢幕寬高的方法 data 這些引數是什麼意思?根據你的需求選擇吧 window.innerwidth 瀏覽器視口 viewport 寬度 單位 畫素 如果存在垂直滾動條則包括它。document.docum...