2008-09-26 30 views
1

如果我从Firefox中将选定的网页拖放到HTML-Kit,HTML-Kit会询问我是否要粘贴为文本或HTML。如果我选择 “的文字,” 我得到这个:如何在网页或C#中读取原始(CF_HTML)剪贴板数据?

Version:0.9 
StartHTML:00000147 
EndHTML:00000516 
StartFragment:00000181 
EndFragment:00000480 
SourceURL:http://en.wikipedia.org/wiki/Herodotus 
<html><body> 
<!--StartFragment-->Additional details have been garnered from the <i><a href="http://en.wikipedia.org/wiki/Suda" title="Suda">Suda</a></i>, an 11th-century encyclopaedia of the <a href="http://en.wikipedia.org/wiki/Byzantium" title="Byzantium">Byzantium</a> which likely took its information from traditional accounts.<!--EndFragment--> 
</body> 
</html> 

According to MSDN,这是 “CF_HTML” 格式的剪贴板数据。在OS X和Linux系统上它是一样的吗?

在网页到网页的拖放操作中,有没有什么办法可以访问这种详细的信息(而不仅仅是普通的剪辑片段)?怎么样到C#WinForms桌面应用程序?

回答

1

这是Microsoft特有的,不要指望在其他操作系统中看到相同的信息。
请注意,从IE复制片段时会得到相同的格式。

我不确定你的意思是“网页到网页的拖放操作”。放下哪里?一个textarea?

我不知道C#,但在C/C++应用程序中,您必须使用OpenClipboard和相关的Win32 API来获取此信息。特别是,GetClipboardData(CF_HTML)允许您获取此信息(也可以以纯文本形式获取,例如Unicode数据等)。

+0

通过网页到网页,我的意思是从一个页面拖到另一个文本,到文本框或文本区域。理想情况下,我想要做的就是访问SourceURL属性并找出数据来自哪里。 – ine 2008-09-26 20:28:59

1

WinForms应用程序可以使用Clipboard.GetText来获取它。然而,我认为在网页上没有办法做到这一点。