news 2026/5/9 1:23:51

2601C++,复制超文本格式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2601C++,复制超文本格式

超文本剪切板格式

超文本有自己的剪切板格式(叫超文本格式(CF_HTML),可用来向其他应用助手(如Excel,Word或其他办公应用复制)提供数据.

CF_HTML是包含说明,环境和该环境中的片段完全基于文本的格式.生成要发送到剪切板的数据时,必须包含数据说明,以指示剪切板版本及环境和片段的偏移.
计算偏移可能是难点.但是,可如下简化此任务.

代码示例

//`CopyHtml()`,在`剪切板`上复制`超文本`.提供了`HTML/BODY`空白,所以只需像`CallHtml("<b>Thisisatest</b>"); `这样调用voidCopyHTML(char*html){//为`超文本`头创建一个`临时缓冲`...char*buf=newchar[400+strlen(html)];if(!buf)return;//取`剪切板``ID`以取`超文本`格式...staticintcfid=0;if(!cfid)cfid=RegisterClipboardFormat("HTML Format");//为`超文本`头创建一个模板串...strcpy(buf,"Version:0.9\r\n""StartHTML:00000000\r\n""EndHTML:00000000\r\n""StartFragment:00000000\r\n""EndFragment:00000000\r\n""<html><body>\r\n""<!-StartFragment -->\r\n");//附加`超文本`...strcat(buf,html);strcat(buf,"\r\n");//完成`超文本`格式...strcat(buf,"<!-EndFragment-->\r\n""</body>\r\n""</html>");//现在回来计算所有长度,并写必要的`头`信息.注意,`wsprintf()`在你覆盖串时会截断它,所以你会用用`'\r'`代码替换结尾的0...char*ptr=strstr(buf,"StartHTML");wsprintf(ptr+10,"%08u",strstr(buf,"<html>")-buf);*(ptr+10+8)='\r';ptr=strstr(buf,"EndHTML");wsprintf(ptr+8,"%08u",strlen(buf));*(ptr+8+8)='\r';ptr=strstr(buf,"StartFragment");wsprintf(ptr+14,"%08u",strstr(buf,"<!-StartFrag")-buf);*(ptr+14+8)='\r';ptr=strstr(buf,"EndFragment");wsprintf(ptr+12,"%08u",strstr(buf,"<!-EndFrag")-buf);*(ptr+12+8)='\r';//现在已准备好`所有东西`,可在`剪切板`上放置东西了.打开`剪切板`...if(OpenClipboard(0)){//清空里面...EmptyClipboard();//分配全局内存传输...HGLOBAL hText=GlobalAlloc(GMEM_MOVEABLE|GMEM_DDESHARE,strlen(buf)+4);//把你的串放进全局内存...char*ptr=(char*)GlobalLock(hText);strcpy(ptr,buf);GlobalUnlock(hText);::SetClipboardData(cfid,hText);CloseClipboard();//释放内存...GlobalFree(hText);}//清理...delete[]buf;}

使用此函数,在剪切板中复制超文本代码,可如下:

char*html="<b>This is a test</b><hr>""<li>entry 1""<li>entry 2";CopyHTML(html);

细节

使用向剪切板发送超文本代码的方法,可能自动化办公的客户特别有利.
如,如果你的自动化客户需要为Excel中的单元格中的段生成格式化数据,则可在超文本代码中生成数据,把它发送到剪切板,然后把它粘贴到应用中.

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 8:20:07

OTG数据充电交互讲解

随着科技的飞速发展&#xff0c;智能移动设备已成为我们生活中不可或缺的一部分。而在这些设备的连接与数据传输中&#xff0c;Type-C接口以其高效、便捷的特性逐渐占据了主导地位。OTG&#xff08;On-The-Go&#xff09;技术则进一步扩展了Type-C接口的功能&#xff0c;使得设…

作者头像 李华
网站建设 2026/5/8 20:53:18

OpenClaw:你的个人AI助手,多平台统一控制的革命性方案

在这个AI助手百花齐放的时代&#xff0c;你是否厌倦了在多个平台间来回切换&#xff1f;OpenClaw用一套系统统一了所有沟通渠道&#xff0c;让你真正拥有属于自己的AI助手。 &#x1f99e; 什么是OpenClaw&#xff1f; OpenClaw是一个开源的个人AI助手平台&#xff0c;它可以在…

作者头像 李华
网站建设 2026/5/7 3:09:13

Java Web 房屋交易平台系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

摘要 随着互联网技术的快速发展&#xff0c;房地产行业逐渐向数字化转型&#xff0c;传统的房屋交易模式已无法满足用户对高效、透明和便捷服务的需求。线上房屋交易平台的出现&#xff0c;为用户提供了更加多样化的选择&#xff0c;同时也为开发商和中介机构拓宽了销售渠道。然…

作者头像 李华
网站建设 2026/5/1 10:23:32

5分钟部署Z-Image-ComfyUI,文生图一键生成超清美图

5分钟部署Z-Image-ComfyUI&#xff0c;文生图一键生成超清美图 你是否试过输入一段文字&#xff0c;几秒后眼前就浮现出一张高清、细腻、风格精准的图片&#xff1f;不是模糊的草图&#xff0c;不是失真的构图&#xff0c;而是真正能用在海报、社交配图甚至设计初稿里的成品—…

作者头像 李华
网站建设 2026/5/6 10:53:30

人脸识别OOD模型实际作品:质量分分层抽样生成的特征空间分布热力图

人脸识别OOD模型实际作品&#xff1a;质量分分层抽样生成的特征空间分布热力图 1. 什么是人脸识别OOD模型&#xff1f; 你可能已经用过很多人脸识别系统——刷脸打卡、门禁通行、手机解锁。但有没有遇到过这些情况&#xff1a; 光线太暗时&#xff0c;系统反复提示“请正对镜…

作者头像 李华