2008-09-26 2 views
1

Если я перетаскиваю выделение веб-страницы из Firefox в HTML-Kit, HTML-Kit спрашивает меня, хочу ли я вставлять текст или HTML. Если я выбираю "текст," я получаю это:Как я могу прочитать данные буфера обмена raw (CF_HTML) на веб-странице или C#?

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 вы получаете тот же формат.

Я не уверен, что вы подразумеваете под «перетаскиванием страницы веб-страницы на веб-страницу». Отбрасывать куда? Текстовое поле?

Я не знаю C#, но в приложениях C/C++ вам нужно использовать OpenClipboard и связанные с ними API Win32, чтобы получить эту информацию. В частности, GetClipboardData (CF_HTML) позволяет вам получить эту информацию (может быть получена также в виде обычного текста, например, или данных Unicode и т. Д.).

+0

С веб-страницы на веб-страницу я имею в виду перетаскивание текста с одной страницы на другую, в текстовое поле или текстовую область. В идеале, я хотел бы получить доступ к свойству SourceURL и узнать, откуда пришли данные. – ine 2008-09-26 20:28:59

1

Приложение WinForms может использовать Clipboard.GetText, чтобы получить его. Однако я не думаю, что есть способ сделать это на веб-странице.

Смежные вопросы