2008-09-26 28 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來獲取它。然而,我認爲在網頁上沒有辦法做到這一點。