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();
}
这个老不成功。
...全文
921 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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消息的工具啊。!

111,097

社区成员

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

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

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