C# 中如何 把文字和图片一起拷贝到剪贴板中,试了几个方法都不对,希望大家帮忙哦!

na_he 2016-04-15 09:45:43
private string GetHtmlData(string html)
{
var sb = new StringBuilder();

const string header = @"Format:HTML Format
Version:1.0
StartHTML:<<<<<<<1
EndHTML:<<<<<<<2
StartFragment:<<<<<<<3
EndFragment:<<<<<<<4
StartSelection:<<<<<<<3
EndSelection:<<<<<<<3";

sb.Append(header);
int startHtml = sb.Length;

sb.Append(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN""><!--StartFragment-->");
int fragmentStart = sb.Length;

sb.Append(html);
int fragmentEnd = sb.Length;

sb.Append(@"<!--EndFragment-->");
int endHtml = sb.Length;

// Backpatch offsets

sb.Replace("<<<<<<<1", String.Format("{0,8}", startHtml));
sb.Replace("<<<<<<<2", String.Format("{0,8}", endHtml));
sb.Replace("<<<<<<<3", String.Format("{0,8}", fragmentStart));
sb.Replace("<<<<<<<4", String.Format("{0,8}", fragmentEnd));

return sb.ToString();
}
这个老不成功。
...全文
1055 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lkf181 2019-05-06
  • 打赏
  • 举报
回复
Image image = Image.FromFile(@"C:\l.png"); Clipboard.SetImage(image);
crystal_lz 2017-01-09
  • 打赏
  • 举报
回复
我建议你发邮件到腾讯去告诉他 让他的剪切板支持浏览器的格式 或者给所有浏览器厂商发邮件 让他们的剪切板格式定义成腾讯的格式
asdddddd1 2017-01-08
  • 打赏
  • 举报
回复
楼主问题解决了吗?想请教下,你是怎么解决的
BitCoffee 2016-04-15
  • 打赏
  • 举报
回复
引用 3 楼 na_he 的回复:
拷贝到word可以。怎么样能拷贝到qq的消息框呢
这种放式好像不能拷贝到qq消息框。我这边没法装QQ,你自己试吧。
na_he 2016-04-15
  • 打赏
  • 举报
回复
拷贝到word可以。怎么样能拷贝到qq的消息框呢
BitCoffee 2016-04-15
  • 打赏
  • 举报
回复

//试试这个
private  string GetHtmlData(string html)
{
            String nativeHTMLString =
                @"Version:0.9
                StartHTML:<<<<<<<1
                EndHTML:<<<<<<<2
                StartFragment:<<<<<<<3
                EndFragment:<<<<<<<4
                StartSelection:<<<<<<<3
                EndSelection:<<<<<<<4
                <!DOCTYPE>
                <HTML>
                <HEAD>
                <TITLE> The HTML Clipboard and special characters</TITLE>
                </HEAD>
                <BODY>
                <UL>
                <!--StartFragment -->
                <myhtml>
                <!--EndFragment -->
                </UL>
                </BODY>
                </HTML>";

            string utf8EncodedHTMLString
            = Encoding.GetEncoding(0).GetString(Encoding.UTF8.GetBytes(nativeHTMLString.Replace("<myhtml>",html)));

            StringBuilder sb = new StringBuilder();
            sb.Append(utf8EncodedHTMLString);
            sb.Replace("<<<<<<<1",
            (utf8EncodedHTMLString.IndexOf("<HTML>") + "<HTML>".Length).ToString("D8"));
            sb.Replace("<<<<<<<2",
            (utf8EncodedHTMLString.IndexOf("</HTML>")).ToString("D8"));
            sb.Replace("<<<<<<<3",
            (utf8EncodedHTMLString.IndexOf("<!--StartFragment -->") + "<!--StartFragment -->".Length).ToString("D8"));
            sb.Replace("<<<<<<<4",
            (utf8EncodedHTMLString.IndexOf("<!--EndFragment -->")).ToString("D8"));
            return sb.ToString();
}
为轮子而生 2016-04-15
  • 打赏
  • 举报
回复
没有看到与剪贴板和图片有关的信息
大鱼> 2016-04-15
  • 打赏
  • 举报
回复
你们都搞美女头像,是不是这样回复的人多一些啊?
RubenLuLu 2016-04-15
  • 打赏
  • 举报
回复
你这是要做自动发QQ消息的工具啊。!
代码转载自:https://pan.quark.cn/s/6708bc18cb4a 《Proteus 8.15 SP0:电子电路设计的强大平台》 Proteus 8.15 SP0是一款在电子工程领域享有高度声誉的电子电路设计软件,它在电子工程领域占据着核心地位。这款专业级别的工具凭借其卓越的功能和用户友好的界面,为工程师们提供了从概念构思到最终实现的完整解决方案。 1. **软件介绍** Proteus 8.15 SP0是由Labcenter Electronics公司研发的一款集成仿真与PCB设计软件。其内部版本编号33980体现了该软件的最新迭代和优化。软件的核心优势在于其一体化的设计平台,能够支持电路设计、模拟仿真、PCB布局以及3D视图预览,显著提升了设计效率。 2. **电路设计与模拟** - **元件资源**:Proteus内置了种类繁多的元件库,涵盖了各类晶体管、电阻、电容、集成电路等,覆盖了数字电路、模拟电路、微控制器等多个技术领域,能够满足不同项目的需求。 - **即时模拟**:用户能够在设计阶段实时监控电路的工作状态,这在调和验证电路设计时极具价值,减少了制作物理原型的必要性,从而降低了成本。 - **混合仿真模式**:Proteus支持模拟与数字信号的联合仿真,使得复杂的混合系统设计成为可能。 3. **PCB设计** - **布局与布线**:Proteus配备了直观的PCB布局工具,使用户能够轻松调整元件位置,选择自动或手动布线,确保电路的可靠性和可制造性。 - **规则验证**:内置的规则验证功能能够帮助工程师避免违反设计规范,例如间距、过孔尺寸等,保障了PCB设计的质量。 - **三维视图**:独特的三维视图功能使用户能够从多...

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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