如何截取屏幕存到剪切板?

有品的和弦 2002-05-16 04:21:54
其实是两个问题:
1.我可以截取屏幕存成位图文件,但我想截取屏幕后以位图格式直接存在剪切板上。
2.如果是一个CScrollView,如何把整个Client(包括没有“滚”出来的部分)都存成位图文件?
...全文
333 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyc1980 2002-05-22
  • 打赏
  • 举报
回复
OpenClipboard(); // Reserve clipboard for this program

// ***************************************************************
// There are two alternative sources of bitmaps that this sample
// can use. Choose either the 4 lines (next) that use "MyBitmap"
// from the resource file, or the line below that which loads a
// bitmap from a bitmap file.


// Alternative 1: This code places a bitmap drawn by you in the
// resource editor onto a button
/* Remove the comment if you use this alternative
CBitmap MyBitmap;
MyBitmap.LoadBitmap(IDB_BITMAP1); // A Bitmap you drew in the
// Resource Editor
HBITMAP MyBitmapHandle = (HBITMAP)MyBitmap; // Cast it to a HBITMAP
SetClipboardData(CF_BITMAP, MyBitmapHandle);
*/ //Remove the comment to use alternative 1.
// End if alternative 1


// Alternative 2: This code places a bitmap from a file onto
// the button. Comment it out if you use alternative 1 above.
if(NULL==(SetClipboardData(CF_BITMAP, LoadImage(NULL,
"C:\\Test.bmp", IMAGE_BITMAP, 0,
0, LR_DEFAULTSIZE|LR_LOADFROMFILE) )))
{
AfxMessageBox("SetClipboardData returned a NULL");
};
// End of alternative 2

// End of alternatives
// ***************************************************************

CloseClipboard(); // Free clipboard so PasteFace() can use it
opentuxedo 2002-05-22
  • 打赏
  • 举报
回复
按print screen sys rp键,或发一个该建的消息
hustwjz 2002-05-22
  • 打赏
  • 举报
回复
An application can simulate a press of the PRINTSCREEN key in order to obtain a screen snapshot and save it to the clipboard. To do this, call keybd_event with the bVk parameter set to VK_SNAPSHOT, and the bScan parameter set to 0 for a snapshot of the full screen or set bScan to 1 for a snapshot of the active window.

hyc1980 2002-05-22
  • 打赏
  • 举报
回复
用OpenClipboard,SetClipboardData, CloseClipboard!

还可以用COleDataSource的SetClipboard,这种方法是利用IDataObject来实现的,它封装了OleSetClipboard喝OleGetClipboard,具体自己看msdn,不是一两句话可以说完
dyw 2002-05-22
  • 打赏
  • 举报
回复
发送一个屏幕拷贝的系统组合键消息!
有品的和弦 2002-05-17
  • 打赏
  • 举报
回复
能否详细点儿?
ColderRain 2002-05-16
  • 打赏
  • 举报
回复
你可以获得屏幕DC: GetDC(NULL) ,
FastStone Capture自5.4版开始,转为共享软件,注册价19.95$。因此,5.3版成为最后的免费版,大家可用此版本。 五星级截屏工具:FastStone Capture最后免费版V5.3   FastStone Capture是一个强大、灵活、易用的截屏工具。你可用它截获屏幕上的任何对象,如窗口、控件、全屏、矩形区域、自选区域、滚动窗口和网页。它还带有创新性的功能,如浮动截屏面板、热键、改变大小、剪切、文字注释、打印、Email、屏幕放大及更多。它实际是国产软件,并且自V4.8开始支持中文标注。   无广告插件!无间谍插件!V5.3版家用免费。   建议在网上搜索下载V5.3版,此后版本皆为shareware. 功能 - 小巧的浮动截屏面板,可拖放至任意位置或缩小到系统托盘 - 资源节约—占内存很少,尤其在缩小到系统托盘时 - 全局热键,随时随地激活程序进行截屏 - 高效工具进行窗口、控件、全屏、矩形/自选区域、滚动区域截屏 - 在Internet Explorer,FireFox,Opera中滚动网页截屏 - 自定义截屏图象的发送目标(内部编辑器、剪贴板、文件) - 屏幕取色 - 文字/箭头直线/高亮/水印注释 - 缩放图片(resize),裁剪、亮度、对比度、gamma校正、锐化、模糊 - 缩放显示(zoom) - 取消/重做 - 存为bmp,jpg,jpeg2000,png,gif,tiff,tga - 通过Email发送截取图片 - 屏幕放大 - 打印过长图片时自动分为多页 - 支持多显示器 - 可设定为开机自启动 - 更多 V5.4 (070514) * 改为shareware   * 略…… V5.3 (070212) * 支持Windows Vista * 改进输出256色png/gif时的质量 * 增:可输出结果到Email发送   * 系统托盘图标的弹出菜单中,增加“回到首选屏幕”(适于多屏幕环境) V5.2 (070116) * 增:设置中增加“滚动刷新时间” * 增:设置中增加选项,可在截屏面板中增加“在编辑器中打开图片”图标 * 增:教程下载链接 V5.1 (070106) * 增:编辑菜单中“背景透明”功能 * 增:可设置在截屏面板中,缩放工具与取色器是否显示 * 增:画图工具中,右键菜单加了“设为前一层/设为后一层”选项 * 改:画图工具热键由T改为D 相关链接 官方页面 http://www.faststone.org/FSCaptureDetail.htm

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧