可以用BitBlt实现截取屏幕图像存为位图格式,但倒过来
把位图文件用函数BitBlt贴在桌面上可以么?可以把字写在位图文件
直接贴在桌面上,实现写字?
那位指点下,最好源码
下面是接屏幕源码:
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 Bitmap = ::CreateCompatibleBitmap(hScreenDC,screensize.cx,screensize.cy);
HGDIOBJ hOldBMP = ::SelectObject(MemDC,Bitmap);
::BitBlt(MemDC,0,0,screensize.cx,screensize.cy,hScreenDC,rect.left,rect.top,SRCCOPY);
::SelectObject(MemDC,hOldBMP);
::DeleteObject(MemDC);
::ReleaseDC(hWnd,hScreenDC);
return Bitmap;
HDC hScreenDC = ::GetDC(hWnd); //获得屏幕的HDC.直接在这个DC上写字或其他操作都行
抛砖引玉。
Mendc和hscreendc对换下位置的话效果会是什么?
我 也没有见过这样的程序:没有窗口,直接桌面写屏幕的
void CdfdffDlg::OnBnClickedButton1()
{
HDC hDesk=::GetDC(NULL);
::TextOut(hDesk,200,200,"我会显示在桌面上",16);
}