Модераторы: Akella, bartram
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужна программа просмотра буфера обмена 
:(
    Опции темы
gesper
Дата 22.12.2014, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: нет
Всего: 2



Подскажите, есть какие нибудь программы для просмотра содержимого буфера обмена?
Различные программы выполняют функцию копирования/вставки своих данных через буфер обмена. К примеру, таблицы копируемые в программе как текст негде не вставляются кроме нее. Может есть что то, что поможет сделать в своих программах функцию вставки данных скопированных в чужой программе.
--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
Akina
Дата 22.12.2014, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 454



Цитата(gesper @  22.12.2014,  01:05 Найти цитируемый пост)
 К примеру, таблицы копируемые в программе как текст негде не вставляются кроме нее.

Это что ж за программа такая? может, там то, что выглядит таблицей, на самом деле и ни разу не таблица...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
gesper
Дата 22.12.2014, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: нет
Всего: 2



Цитата(Akina @ 22.12.2014,  09:03)
Цитата(gesper @  22.12.2014,  01:05 Найти цитируемый пост)
 К примеру, таблицы копируемые в программе как текст негде не вставляются кроме нее.

Это что ж за программа такая? может, там то, что выглядит таблицей, на самом деле и ни разу не таблица...

Да любая, Word, AutoCAD... У них таблицы есть, и в лучшем случае текст вставляется в Блокнот или ничего. А при вставке в саму программу из которой была сделана копия, мы можем получить не просто таблицу с данными, а еще и форматирование и внешний вид настроенные. В память что то копируется...посмотреть бы что и как оно выглядит )
--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
Poseidon
Дата 22.12.2014, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 1
Всего: 133



Цитата(gesper @  22.12.2014,  12:05 Найти цитируемый пост)
В память что то копируется...посмотреть бы что и как оно выглядит ) 
Копируется таблица как объект. Ты хочешь увидеть это в текстовом виде? Что это даст? Файлы тоже можно в буфер копировать и далеко не только текстовые файлы. Копируются объекты, при вставке программа-приемник смотрит формат объекта и принимает его. Программа-приемник знает что это за объект вставляется и его структуру. Сторонние программы этого знать не могут. И если еще с популярными форматами (текст, Word, AutoCAD и т.д.) можно разобраться, то с остальным никак. Т.е. в принципе не может быть программы, которая бы сама распознавала что там за объект и распознавала его.



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Akina
Дата 22.12.2014, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 454



Цитата(gesper @  22.12.2014,  13:05 Найти цитируемый пост)
В память что то копируется...посмотреть бы что и как оно выглядит 
  • Bitmap - A handle to a bitmap (HBITMAP).
  • Bitmap DIB - A memory object containing a BITMAPINFO structure followed by the bitmap bits.
  • Bitmap DIBV5 - Windows 2000/XP/Vista/7: A memory object containing a BITMAPV5HEADER structure followed by the bitmap color space information and the bitmap bits.
  • Bitmap Display Format - Bitmap display format associated with a private format. The hMem parameter must be a handle to data that can be displayed in bitmap format in lieu of the privately formatted data.
  • Color Palette - Handle to a color palette. Whenever an application places data in the clipboard that depends on or assumes a color palette, it should place the palette on the clipboard as well.
  • Complex Audio Data RIFF - Represents audio data more complex than can be represented in a CF_WAVE standard wave format.
  • Component - Delphi Component.
  • Data for The Pen Extensions - Data for the pen extensions to the Microsoft Windows for Pen Computing.
  • Data Interchange Format - Software Arts'' Data Interchange Format.
  • Enhanced Metafile - A handle to an enhanced metafile (HENHMETAFILE).
  • Enhanced Metafile Display Format - Enhanced metafile display format associated with a private format. The hMem parameter must be a handle to data that can be displayed in enhanced metafile format in lieu of the privately formatted data.
  • HTML Format - HyperText Markup Language Format. HTML is entirely text format (to be, among other things, in the HTML spirit, and uses UTF-8) and includes a description, an optional context, and, within the context, the fragment. 
  • List of Files - A handle to type HDROP that identifies a list of files. An application can retrieve information about the files by passing the handle to the DragQueryFile functions.
  • Locale Identifier - The data is a handle to the locale identifier associated with text in the clipboard. When you close the clipboard, if it contains CF_TEXT data but no CF_LOCALE data, the system automatically sets the CF_LOCALE format to the current input language.
  • Metafile Picture Format  - Handle to a metafile picture format as defined by the METAFILEPICT structure.
  • Metafile-picture Display Format - Metafile-picture display format associated with a private format. The hMem parameter must be a handle to data that can be displayed in metafile-picture format in lieu of the privately formatted data.
  • Microsoft Symbolic Link Format - Microsoft Symbolic Link (SYLK) format.
  • OEM Text - Text format containing characters in the OEM character set. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals the end of the data.
  • Owner-display Format - Owner-display format. The clipboard owner must display and update the clipboard viewer window, and receive the WM_ASKCBFORMATNAME, WM_HSCROLLCLIPBOARD, WM_PAINTCLIPBOARD, WM_SIZECLIPBOARD, and WM_VSCROLLCLIPBOARD messages. The hMem parameter must be NULL.
  • Picture - Delphi Picture.
  • Rich Text Format - Rich Text Format RTF.
  • Tagged-image File Format - Tagged-image file format.
  • Text - Text format. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals the end of the data. Use this format for ANSI text.
  • Text Display Dormat - Text display format associated with a private format. The hMem parameter must be a handle to data that can be displayed in text format in lieu of the privately formatted data.
  • Unicode Text Format - Windows NT/2000/XP/Vista/7: Unicode text format. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals the end of the data.
  • Wave - Represents audio data in one of the standard wave formats, such as 11 kHz or 22 kHz Pulse Code Modulation (PCM).



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
diadiavova
Дата 22.12.2014, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 1
Всего: 142



Цитата(gesper @  22.12.2014,  00:05 Найти цитируемый пост)
 Может есть что то, что поможет сделать в своих программах функцию вставки данных скопированных в чужой программе. 

Думаю, это зависит от языка/технологии, на котором ты пишешь. Вопрос лучше бы задать в соответствующем разделе. Обычно в буфер копируется некий датаобъект, который может содержать несколько версий скопированного. Каждая версия идентифицируется строкой формата, обычно для зарегистрированных строк возможен обмен и между разными программами, например форматы rtf или html понимают многие редакторы, поэтому можно в браузере скопировать что-то и при вставке в тот же ворд ты увидишь, что формат будет сохранен или, к примеру, изменен незначительно.
Программы просмотра буфера обмена существуют, конкретно не посоветую, но можно поискать как-нибудь так
https://www.google.com/search?q=monodevelop...%B5%D0%BD%D0%B0
Но, если ты не знаешь, как на используемом тобой языке программирования получить из буфера данные в определенном формате, то вряд ли тебе поможет в этом сторонний софт. 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
gesper
Дата 23.12.2014, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: нет
Всего: 2



Цитата(diadiavova @ 22.12.2014,  23:00)
Обычно в буфер копируется некий датаобъект, который может содержать несколько версий скопированного. Каждая версия идентифицируется строкой формата, обычно для зарегистрированных строк возможен обмен и между разными программами, например форматы rtf или html понимают многие редакторы, поэтому можно в браузере скопировать что-то и при вставке в тот же ворд ты увидишь, что формат будет сохранен или, к примеру, изменен незначительно.
...
Но, если ты не знаешь, как на используемом тобой языке программирования получить из буфера данные в определенном формате, то вряд ли тебе поможет в этом сторонний софт.

Самому написать программу проблем нет, но это время, которое иногда глупо тратить, если уже что то есть. Какой смысл начинать что то лепить, если возможно есть "монитор" который покажет содержимое в буфере, после копирования и я успокоюсь на мысли, что не смогу раскодировать содержимое?)
Вот ты мне кое что интересное рассказал, о принципах работы с буфером. Я с ним просто раньше не связывался глубже копирования текстов.

Всем откликнувшимся, спасибо)
--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
diadiavova
Дата 23.12.2014, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 1
Всего: 142



Цитата(gesper @  23.12.2014,  12:21 Найти цитируемый пост)
Самому написать программу проблем нет, но это время, которое иногда глупо тратить, если уже что то есть. Какой смысл начинать что то лепить, если возможно есть "монитор" который покажет содержимое в буфере, после копирования и я успокоюсь на мысли, что не смогу раскодировать содержимое?)

Смысл в том, чтобы разобраться какие апи доступа к буферу обмена тебе предоставляет технология, которую ты собираешься использовать для написания программы. Вот я тут набросал простой вьюер буфера, он, конечно не отображает всего и так как надо, но можно будет увидеть по крайней мере что в буфер закидывает та или иная программа, какие форматы использует и т. д. Там отображаются только текстовые форматы и если данные в виде стрима, то он читается как текст юникода, больше ничего не делал. Но мне все-таки непонятно, что тебе даст эта информация? Вряд ли ведь тема создавалась для того, чтобы 
Цитата(gesper @  23.12.2014,  12:21 Найти цитируемый пост)
после копирования и я успокоюсь на мысли, что не смогу раскодировать содержимое?)


На всякий случай прилагаю код кнопки, считывающей данные из буфера.
Код

    Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
        Me.RichTextBox1.Clear()
        Dim dobj = Clipboard.GetDataObject
        For Each f In dobj.GetFormats(True)
            With Me.RichTextBox1
                .SelectionColor = Color.Blue
                .SelectedText = f & vbNewLine
                .SelectionColor = Color.Black
                Dim data = dobj.GetData(f, True)
                Dim dataastext As String
                If TypeOf data Is IO.Stream Then
                    Dim stream = CType(data, IO.MemoryStream)
                    Using sr As New IO.StreamReader(stream, System.Text.Encoding.Unicode, True)
                        dataastext = sr.ReadToEnd
                        dataastext = dataastext.Substring(0, dataastext.Length - 1)
                    End Using
                ElseIf f = "HTML Format" Then
                    dataastext = Clipboard.GetText(TextDataFormat.Html)
                ElseIf f = "Rich Text Format" Then
                    dataastext = Clipboard.GetText(TextDataFormat.Rtf)
                ElseIf f = "Unicode text" Then
                    dataastext = Clipboard.GetText(TextDataFormat.UnicodeText)
                ElseIf TypeOf data Is String Then
                    dataastext = data
                Else
                    dataastext = data.ToString
                End If
                .SelectedText = dataastext & vbNewLine & vbNewLine
            End With
        Next
    End Sub

И документацию по датаобъекту, доступному в дотнете и использованному в программе. Просто для того, чтобы дать представление о методах работы с буфером. Но в других технологиях это может выглядеть и совсем иначе.
http://msdn.microsoft.com/ru-ru/library/sy...v=vs.90%29.aspx

Присоединённый файл ( Кол-во скачиваний: 0 )
Присоединённый файл  ClipboardViewer.rar 9,08 Kb


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
gesper
Дата 24.12.2014, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: нет
Всего: 2



Цитата(diadiavova @  23.12.2014,  19:55 Найти цитируемый пост)
Но мне все-таки непонятно, что тебе даст эта информация?

Принцип работы AutoCAD с буфером обмена описан тут.
http://autolisp.ru/2011/02/16/clipboard-working/
Как время будет, буду пытать его на предмет того, что в буфере обмена у него, при копировании.
Если, как сказано в статье, он файл создает, то в буфере значит ссылка на файл. Подменить такую запись, создать свой файл и получаем способ вставить данные в AutoCAD его же средствами, без применения API, которое в некоторых версиях не предусмотрено вообще.

--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программное обеспечение"
Deface
Akella

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, Akella, bartram.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программное обеспечение | Следующая тема »


 




[ Время генерации скрипта: 0.0576 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.