visual c++剪贴板操作不完全攻略

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
正文
boarddata(cf_bitmap,junk->m_hobject);
closeclipboard();

delete junk;
}

下面的代码显示了如何从剪贴板上获得位图数据:

if(openclipboard())
{
//获得剪贴板数据
hbitmap handle = (hbitmap)getclipboarddata(cf_bitmap);
cbitmap * bm = cbitmap::fromhandle(handle);

cclientdc cdc(this);
cdc dc;
dc.createcompatibledc(&cdc);
dc.selectobject(bm);
cdc.bitblt(0,0,200,200,&dc,0,0,srccopy);

closeclipboard();
}

四、设置并使用自定义格式

使用registerclipboardformat()函数,可以复制和粘贴任何你需要的数据类型。比如我们有以下一个数据类型:

struct myformatdata
{
long val1;
int val2;
};

我们要把它复制到剪贴板,可以使用如下的代码:

uint format = registerclipboardformat("my_custom_format");
if(openclipboard())
{
myformatdata data;
data.val1 = 100;
data.val2 = 200;

hglobal clipbuffer;
emptyclipboard();
clipbuffer = globalalloc(gmem_ddeshare, sizeof(myformatdata));
myformatdata * buffer = (myformatdata*)globallock(clipbuffer);

//保存到内存
*buffer = data;

//保存到剪贴板
globalunlock(clipbuffer);
setclipboarddata(format,clipbuffer);
closeclipboard();
}

读取数据使用以下代码:

uint format = registerclipboardformat("my_custom_format");
myformatdata data;
if(openclipboard())
{
handle hdata =getclipboarddata(format);
myformatdata * buffer = (myformatdata*)globallock(hdata);

data = *buffer;

globalunlock(hdata);
closeclipboard();
}

五、感知剪贴板内容的改变

通过windows消息可以感知剪贴板内容是否发生改变,代码如下:

in your initialization code call:
setclipboardviewer(); //将我们的程序添加到剪贴板观察链

in your message map add:
on_message(wm_drawclipboard, onclipchange) //添加message handle

which is declared as:
afx_msg void onclipchange();

finally implement:
void cdetectclipboardchangedlg::onclipchange()
{
ctime time = ctime::getcurrenttime();
setdlgitemtext(idc_changed_date,time.format("%a, %b %d, %y -- %h:%m:%s"));

displayclipboardtext();
}

六、自动将数据粘贴到另一应用程序窗口

只需获得相应窗口的句柄,并发送一个消息就可以了:

sendmessage(m_htextwnd, wm_paste, 0, 0); 
VC6.0在Win10/11系统安装配置全攻略:解决兼容性问题与编译调试 集成开发环境(IDE)是程序员编写、调试代码的核心工具,其核心原理在于将编辑器、编译器、调试器等组件整合,提供统一的开发界面。在技术演进中,IDE的兼容性成为工程实践的关键挑战,尤其当老旧开发工具需要在新系统运行时。Visual C++ 6.0作为经典的C++开发环境,因其在高校教学和遗留项目中的广泛使用,依然存在大量安装与配置需求。本文聚焦于VC6.0在Windows 10/11系统中的部署,通过解析兼容性问题的根源,提供从获取安装包、应用补丁到配置编译环境的完整解决方案,并涵盖常见编译错误调试与第三方库 阅读详情

相关推荐

剪切板操作的深入探索与实践

剪切板是操作系统提供的一种用于临时存储用户复制或剪切内容的机制。它允许用户将文本、图像、文件等同类型的数据从一个应用程序移动到另一个应用程序。在用户界面层面,剪切板通常表现得可见,但它作为一种服务或功能,支持各种数据类型(如文本、图片、文件等)的暂存与共享。CClipboard自定义数据格式允许开发者根据特定应用场景的需求,定义自己私有的数据格式。使用函数可以注册一个新的数据格式。然后,使用和函数可以设置和获取自定义格式的数据。// 设置自定义格式数据到剪切板。

weixin_42323064的博客 1325

C++:本地图片拷贝到剪切板

1、本地图片转换为HBITMAP HBITMAP CNoteWindow::CopySelectRectBitmap(LPCTSTR lpszPath) { HBITMAP hBitmap = NULL; //背景色设置为白色。 Color backColor = Color(255,255,255,255); //Status sts if (PathFileExists(lpszPath)) { Bitmap* pBitmap = Bitmap::FromFile(lpszPath);

木头 1983

监视剪切板的Excel表格数据

原需求是 监视Excel表格中的关键数据,截取后做相应的业务。 工程只提取了监视功能, 使用windows 对应剪切板API。 使用方法: 1、初始化 使用 SetClipboardViewer ,把本窗口句柄传入,并且保存返回的下个窗口句柄。 2、在消息响应函数中 WindowProc中 处理WM_CHANGECBCHAIN,把更改的窗口句柄传到下一个。 3、处理 WM_DRAWCLIPBOARD 剪切板数据改变消息:OpenClipboard,EnumClipboardFormats,GetClipboardData……CloseClipboard。 4、退出时释放ChangeClipboardChain。

CBitmap位图操作大集合

   显示位图  在Visual C++6.0中,显示位图的方法及过程如下:   1. 显示程序资源中的位图(位图的所有数据均存在于可执行文件中)   (1)从资源中装入位图  ● 定义位图对象数据成员CBitmap m_Bitmap;   ● 调用CBitmap成员函数LoadBitmap(),如m_Bitmap.LoadBitmap(IDB_BITMAP1);   

淡蓝色的帆 -编程空间 3701

VC++下Window剪贴板操作

<br />在richeditview中保存文件时用“static DWORD CALLBACK CBStreamOut”函数对于大于1M的文件耗时太长,原因在于这个函数每次都只能写很少内容,要多次调用造成的,我想利用剪贴板一次读取全部内容来解决时间问题,以下是网上的剪贴板操作方法。<br /><br /><br /> 1、文本内容的操作<br /><br />     2、WMF数据操作<br /><br />     3、位图的操作<br /><br />     4、设置使用自定义格式<br

迷茫的小莱 878

VC的剪贴板操作的总结

本文主要介绍了VC++/MFC中如下内容的剪贴板操作:1、文本内容的操作2、WMF数据操作3、位图的操作4、设置使用自定义格式5、感知剪贴板内容的改变6、自动将数据粘贴到另一应用程序窗口一、文本内容的操作下面的代码示范了如何将文本内容复制到剪贴板(Unicode编码的先转化为ASCII):CString source;//文本内容保存在source变量中if( OpenClipboard() )

梦想---软件设计师 2169

Visual C++剪贴板操作完全攻略

经常在论坛上见到一些使用者询问如何在Visual C++中如何实现对剪贴板操作,其实在VC++/MFC中是相当简单的。本文主要介绍了如下内容: 1、文本内容的操作 2、WMF数据操作 3、位图的操作 4、设置使用自定义格式 5、感知剪贴板内容的改变 6、自动将数据粘贴到另一应用程序窗口 一、文本内容的操作 下面的代码示范了如何将文本内容复制到剪贴板: Cstr

Luo_yc的博客 1136

Visual C++剪贴板操作完全攻略(转) z

    经常在论坛上见到一些使用者询问如何在Visual C++中如何实现对剪贴板操作,其实在VC++/MFC中是相当简单的。本文主要介绍了如下内容:1、文本内容的操作2、WMF数据操作3、位图的操作4、设置使用自定义格式5、感知剪贴板内容的改变6、自动将数据粘贴到另一应用程序窗口一、文本内容的操作下面的代码示范了如何将文本内容复制到剪贴板:Cstring source;//文本内容保存在s

537

Visual C++剪贴板操作完全攻略

  文章摘要:       1、文本内容的操作       2、WMF数据操作       3、位图的操作       4、设置使用自定义格式     5、感知剪贴板内容的改变       6、自动将数据粘贴到另一应用程序窗口             一、如何将文本内容复制到剪贴板:     CString   source;//文本内容保存在source变量中     if(OpenClipb

wanglei2258的专栏 689

Visual C++剪贴板操作完全攻略(转)

经常在论坛上见到一些使用者询问如何在Visual C++中如何实现对剪贴板操作,其实在VC++/MFC中是相当简单的。本文主要介绍了如下内容:1、文本内容的操作2、WMF数据操作3、位图的操作4、设置使用自定义格式5、感知剪贴板内容的改变6、自动将数据粘贴到另一应用程序窗口一、文本内容的操作下面的代码示范了如何将文本内容复制到剪贴板:Cstring source;//文本内容保存在sour...

weixin_34130389的博客 88

剪贴板操作

Visual   C++剪贴板操作完全攻略  作者:leasun  发布时间:2001/08/28       文章摘要:         1、文本内容的操作       2、WMF数据操作       3、位图的操作       4、设置使用自定义格式     5、感知剪贴板内容的改变       6、自动将数据粘贴到另一应用程序窗口          

AnnaWang020912的专栏 567

VC 剪切板操作

Visual   C++剪贴板操作完全攻略  作者:leasun  发布时间:2001/08/28   文章摘要:     1、文本内容的操作   2、WMF数据操作   3、位图的操作   4、设置使用自定义格式 5、感知剪贴板内容的改变   6、自动将数据粘贴到另一应用程序窗口     一、如何将文本内容复制到剪贴板: CString   sourc

donglinshengan的专栏 3171

VC操作剪切板

Visual   C++剪贴板操作完全攻略  作者:leasun  发布时间:2001/08/28    文章摘要:      1、文本内容的操作    2、WMF数据操作    3、位图的操作    4、设置使用自定义格式  5、感知剪贴板内容的改变    6、自动将数据粘贴到另一应用程序窗口      一、如何将文本内容复制到剪贴板:  CString   sourc

fin86889003的专栏 624

LunaTranslator全攻略:零基础掌握Galgame翻译神器

LunaTranslator作为一款专为视觉小说设计的翻译工具,集成了HOOK文本捕获、OCR图像识别和剪贴板监听等核心功能,让语言障碍再成为欣赏Galgame的阻力。本指南将带你从环境搭建到高级配置,全方位掌握这款开源工具的使用方法,轻松开启沉浸式游戏体验。 ## 系统环境与前期准备 ### 运行环境要求 - **操作系统**:Windows 10及以上版本(64位系统最佳) - **硬件

gitblog_00309的博客 680

免费开源视觉小说翻译器LunaTranslator上手指南:懂日语如何畅玩日系游戏

LunaTranslator 是一款完全免费开源的视觉小说翻译器,它通过 HOOK、OCR、剪贴板三种方式抓取游戏文本,再交给几十种翻译引擎即时译成中文,让懂日语的玩家也能顺畅玩通日系 galgame。接下来这篇文章会以实际使用者的视角,带你一步步完成安装、选模式、调引擎,再聊到进阶技巧与常见坑位。 ## 曾经啃"生肉"的日子,该翻篇了 想象这样一个夜晚:你兴致勃勃打开刚下载的日系视觉小说,

gitblog_02837的博客 875

Windows 10/11安装VC6.0全攻略:虚拟机与宿主机双方案详解

集成开发环境(IDE)是程序员进行软件开发的核心工具,它集成了代码编辑、编译、调试等功能,极大地提升了开发效率。随着技术演进,现代IDE如Visual Studio 2022、VS Code等提供了对最新语言标准的完善支持、智能感知和强大的生态系统。然而,在特定场景下,开发者仍需面对历史遗留项目的兼容性挑战,尤其是维护基于旧版工具链的代码。Visual C++ 6.0(VC6.0)作为一款经典的C/C++开发环境,其编译器对C++98标准的支持以及独特的工程文件格式(.dsp, .dsw),使其在高校教学、

weixin_30315723的博客 409
上一篇: 对剪贴板的内容的进行读取和设置
下一篇: 从剪贴板读取并保存图片到文件
iiprogram
博客等级 码龄25年 1066粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值