网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
屏幕抓图程序DIY
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
可以不破坏原有的背景
int nMode =SetROP2(hDC, R2_NOTXORPEN);
HPEN hpenOld= (HPEN)SelectObject(hDC, hPen);
//得到鼠标所在处的窗口的区域
::GetWindowRect(hwndCapture,&rectCapture);
//在鼠标所在处的窗口四周画一红色的矩形,做为选定时的提醒
POINT pt;
pt[0] = CPoint(rectCapture.left, rectCapture.top);
pt = CPoint(rectCapture.right,rectCapture.top);
pt = CPoint(rectCapture.right,rectCapture.bottom);
pt = CPoint(rectCapture.left, rectCapture.bottom);
pt = CPoint(rectCapture.left, rectCapture.top);

::Polyline(hDC,pt,5);  
//延时后再重绘红色的矩形,这样就不会破坏原有内容
Sleep(100);
::Polyline(hDC,pt,5);
::SelectObject(hDC,hpenOld);
::ReleaseDC(NULL,hDC);

}


CDialog::OnMouseMove(nFlags, point);
}

void CScreenCaptureDlg::OnLButtonUp(UINT nFlags, CPoint point)  

{  
//得到鼠标所在处的窗口的区域宽、高  
int nWidth=rectCapture.Width();
int nHeight=rectCapture.Height();
HDC hdcScreen, hMemDC;  
HBITMAP hBitmap, hOldBitmap;  
//建立一个屏幕设备环境句柄
hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL);
hMemDC = CreateCompatibleDC(hdcScreen);
//建立一个与屏幕设备环境句柄兼容、与鼠标所在处的窗口的区域等大的位图
hBitmap = CreateCompatibleBitmap(hdcScreen, nWidth, nHeight);
// 把新位图选到内存设备描述表中
hOldBitmap =(HBITMAP)SelectObject(hMemDC, hBitmap);
// 把屏幕设备描述表拷贝到内存设备描述表中
BitBlt(hMemDC, 0, 0, nWidth, nHeight, hdcScreen,rectCapture.left,rectCapture.top,SRCCOPY);
//取回鼠标所在处的窗口屏幕位图的句柄
hBitmap =(HBITMAP)SelectObject(hMemDC, hOldBitmap);
DeleteDC(hdcScreen);
DeleteDC(hMemDC);

// 返回位图句柄
//打开剪贴板,并将位图拷到剪贴板上
OpenClipboard() ;
EmptyClipboard();
SetClipboardData(CF_BITMAP, hBitmap);
//关闭剪贴板
CloseClipboard();

MessageBox("屏幕内容已经拷到剪贴板上!");
//终止鼠标捕获
ReleaseCapture();
//恢复窗口显示模式
ShowWindow(SW_NORMAL);

}
说明:在本程序中,如果用户在对话框中按住鼠标左键不放,那么,程序便开始“抓图”,当选择好抓图的目标后,松开鼠标左键,这时,抓图的目标窗口的画面就自动保存至剪贴板中了。如果你想将位置保存到一个BMP文件,你可以到http://www.cideguru.com中查找具体文档。
瞧,屏幕抓图程序的制作是不是良简单?你也可以对该程序进行改良,加入个性化的界面或功能,我想其运用效果并比会比专业的屏幕抓图程序差。在我的主页 “国税之家”(http://nationaltax.home.chinaren.com)的“个人世界”中,就有一个做好的屏幕抓图程序,试一试?

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号