| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программное обеспечение > Нужна программа просмотра буфера обмена |
| Автор: gesper 22.12.2014, 00:05 |
| Подскажите, есть какие нибудь программы для просмотра содержимого буфера обмена? Различные программы выполняют функцию копирования/вставки своих данных через буфер обмена. К примеру, таблицы копируемые в программе как текст негде не вставляются кроме нее. Может есть что то, что поможет сделать в своих программах функцию вставки данных скопированных в чужой программе. |
| Автор: gesper 22.12.2014, 12:05 | ||||
Да любая, Word, AutoCAD... У них таблицы есть, и в лучшем случае текст вставляется в Блокнот или ничего. А при вставке в саму программу из которой была сделана копия, мы можем получить не просто таблицу с данными, а еще и форматирование и внешний вид настроенные. В память что то копируется...посмотреть бы что и как оно выглядит ) |
| Автор: Poseidon 22.12.2014, 12:40 | ||
|
| Автор: Akina 22.12.2014, 12:55 | ||
|
| Автор: diadiavova 22.12.2014, 23:00 | ||
Думаю, это зависит от языка/технологии, на котором ты пишешь. Вопрос лучше бы задать в соответствующем разделе. Обычно в буфер копируется некий датаобъект, который может содержать несколько версий скопированного. Каждая версия идентифицируется строкой формата, обычно для зарегистрированных строк возможен обмен и между разными программами, например форматы rtf или html понимают многие редакторы, поэтому можно в браузере скопировать что-то и при вставке в тот же ворд ты увидишь, что формат будет сохранен или, к примеру, изменен незначительно. Программы просмотра буфера обмена существуют, конкретно не посоветую, но можно поискать как-нибудь так https://www.google.com/search?q=monodevelop&ie=utf-8&oe=utf-8#newwindow=1&q=%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%20%D0%B1%D1%83%D1%84%D0%B5%D1%80%D0%B0%20%D0%BE%D0%B1%D0%BC%D0%B5%D0%BD%D0%B0 Но, если ты не знаешь, как на используемом тобой языке программирования получить из буфера данные в определенном формате, то вряд ли тебе поможет в этом сторонний софт. |
| Автор: gesper 23.12.2014, 12:21 | ||
Самому написать программу проблем нет, но это время, которое иногда глупо тратить, если уже что то есть. Какой смысл начинать что то лепить, если возможно есть "монитор" который покажет содержимое в буфере, после копирования и я успокоюсь на мысли, что не смогу раскодировать содержимое?) Вот ты мне кое что интересное рассказал, о принципах работы с буфером. Я с ним просто раньше не связывался глубже копирования текстов. Всем откликнувшимся, спасибо) |
| Автор: diadiavova 23.12.2014, 19:55 | ||||||
Смысл в том, чтобы разобраться какие апи доступа к буферу обмена тебе предоставляет технология, которую ты собираешься использовать для написания программы. Вот я тут набросал простой вьюер буфера, он, конечно не отображает всего и так как надо, но можно будет увидеть по крайней мере что в буфер закидывает та или иная программа, какие форматы использует и т. д. Там отображаются только текстовые форматы и если данные в виде стрима, то он читается как текст юникода, больше ничего не делал. Но мне все-таки непонятно, что тебе даст эта информация? Вряд ли ведь тема создавалась для того, чтобы
На всякий случай прилагаю код кнопки, считывающей данные из буфера.
И документацию по датаобъекту, доступному в дотнете и использованному в программе. Просто для того, чтобы дать представление о методах работы с буфером. Но в других технологиях это может выглядеть и совсем иначе. http://msdn.microsoft.com/ru-ru/library/system.windows.forms.dataobject%28v=vs.90%29.aspx |
| Автор: gesper 24.12.2014, 16:38 |
Принцип работы AutoCAD с буфером обмена описан тут. http://autolisp.ru/2011/02/16/clipboard-working/ Как время будет, буду пытать его на предмет того, что в буфере обмена у него, при копировании. Если, как сказано в статье, он файл создает, то в буфере значит ссылка на файл. Подменить такую запись, создать свой файл и получаем способ вставить данные в AutoCAD его же средствами, без применения API, которое в некоторых версиях не предусмотрено вообще. |