如何读取网页或者C#中的原始(CF_HTML)剪贴板数据?
时间:2020-03-06 14:48:19 来源:igfitidea点击:
如果我将某个网页的选择从Firefox拖放到HTML-Kit,则HTML-Kit会问我是否要粘贴为文本或者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>
根据MSDN,这是" CF_HTML"格式的剪贴板数据。在OS X和Linux系统上是否相同?
在网页到网页的拖放操作中,有什么方法可以访问这种详细信息(而不仅仅是普通剪辑片段)? CWinForms桌面应用程序怎么办?
解决方案
它是特定于Microsoft的,不要期望在其他操作系统中看到相同的信息。
请注意,从IE复制片段时,将获得相同的格式。
我不确定"网页到网页的拖放操作"是什么意思。要掉到哪里?一个文本区域?
我不知道C#,但是在C / C ++应用程序中,我们必须使用OpenClipboard和相关的Win32 API来获取此信息。特别是,GetClipboardData(CF_HTML)允许我们获取此信息(例如,也可以以纯文本或者Unicode数据等形式获取)。
WinForms应用程序可以使用Clipboard.GetText来获取它。但是,我认为没有办法在网页中做到这一点。