- Буфер обмена — что это такое и где находится?
- Буфер обмена — что это?
- Что можно скопировать в буфер обмена?
- Как сохранять в буфер обмена?
- Как найти буфер обмена?
- Как очистить буфер обмена в ОС Windows?
- Буфер обмена: что это и где он находится в компьютере
- Что такое буфер обмена
- Где находится буфер обмена
- Как пользоваться буфером обмена
- Что такое буфер обмена
- Буфер обмена Windows и Word. Где находится и как работать?
- Как работает буфер обмена в Windows
- Буфер обмена
- Как долго там хранится информация
- Где находится буфер обмена
- Как очистить
- Программа для работы с буфером обмена
- Установка Punto Switcher
- Работа в Punto Switcher
- Какими клавишами можно скопировать текст
Буфер обмена — что это такое и где находится?

Буфер обмена — что это?
Буфер обмена — это промежуточное хранилище данных, используемое для переноса любой выделенной информации, к примеру, с интернет-страницы в любой текстовый редактор. Информация, находящаяся в clipboard (оригинал слова — с английского языка), может быть использована многоразово. То есть, на использование одного выделенного кусочка текста никаких ограничений нету.
Что можно скопировать в буфер обмена?
Промежуточное хранилище данных позволяет переносить не только текстовую информацию, но и медиафайлы. К примеру, благодаря ему каждый юзер (пользователь ПК) может переносить изображения различного формата, аудио и видеоролики.
Как сохранять в буфер обмена?
Сlipboard во всех операционных системах Windows работает по одному и тому же принципу. Перенесение временной информации на специальный отсек для ее хранения — очень легкий процесс. Первым шагом нужно скопировать (или вырезать) необходимую часть информации, которую вы хотите использовать. Выделенная информация помещается на специальную область оперативной памяти, где и хранится.
В промежуточном хранилище сохраняется только по одной записи. То есть если вы сначала скопировали какой-то текст, а после любую другую информацию (к примеру, изображение), то первая запись сотрется, а на ее месте появится вторая (в нашем случае — изображение, которое мы копировали). Это говорит о том, что информация в clipboard постоянно переписывается. Данный процесс происходит в автоматическом режиме, но не без участия юзера.
Работа с clipboard возможна с помощью специальных «горячих» сочетаний клавиш:
Полная автоматическая очистка clipboard происходит при выключении или перезагрузке компьютера. Использование данной функции упрощает и облегчает работу с устройством, так как благодаря ему информацию, которая доступна в большинстве программ системы Windows, не нужно самостоятельно набирать на клавиатуре, можно просто скопировать и вставить в нужный вам файл.
Как найти буфер обмена?
Большинство юзеров, узнав о clipboard, задаются вопросом: как открыть буфер обмена? Несмотря на то что он находится в скрытом доступе от пользователей, найти его все-таки можно.

Запустив clipboard одним из перечисленных способов, вы сможете посмотреть всю сохраненную в нем информацию.
Как очистить буфер обмена в ОС Windows?
В данной статье уже упоминалось о том, что clipboard имеет свойство перезаписывать информацию в автоматическом режиме. Вследствие этого информация, содержащаяся в нем до этого, очищается. Это и есть один из способов очистить буфер в ОС Windows — копировать новую информацию.
Удалить информацию из clipboard можно с помощью командной строки. Для этого, вызвав ее (о том, как это сделать говорилось уже выше), необходимо ввести следующую команду: C:\Users > echo off:clip и нажать клавишу Enter. После этого начнется безвозвратная очистка временного хранилища файлов.
Если вы часто очищаете clipboard, для своего же удобства на рабочем столе можно создать ярлык, в расположении которого указав эту комбинацию: cmf c «echo off | clip». После запуска такого ярлыка вам сразу откроется окно для очистки хранилища временных файлов.
Буфер обмена: что это и где он находится в компьютере
В статьях на компьютерную тематику часто можно встретить такой термин как буфер обмена. Обычно авторы используют его, даже не задумываясь о том, что часть читателей может не понимать, что такое буфер обмена и где он находится в компьютере.
Если вы также столкнулись с данным термином, то предлагаем ознакомиться с нашей статьей.
Что такое буфер обмена
Основные комбинации клавиш для работы с буфером обмена.
Буфер обмена – это место для временного хранения данных. Буфер обмена предоставляется операционной системой, после чего программы используют его через определенных интерфейс. Также в некоторых случаях программы могут создавать собственный буфер обмена, в этом случая он будет доступен только внутри программы, которая его создала.
Буфер обмена используется для копирования или перемещения данных. Например, когда вы копируете текст, он помещается в буфер обмена и хранится там до тех пор, пока вы не скопируете что-то другое, что перезапишет предыдущий скопированный текст. Это работает точно также и с другими типами данных, например, с изображениями. При вставке текста, или другого скопированного объекта, он извлекается из буфера обмена и помещается в ту точку, куда вы вставляете данные.
Обычно при копировании программа помещает в буфер обмена данные сразу в нескольких форматах. Например, при копировании текста из текстового редактора в буфер обмена будет помещен не только текст, но и картинка с данным текстом. В данном случае при вставке будет использоваться тот формат, который сможет распознать программа. Например, при вставке в другой текстовый редактор будет вставлен текст, а при вставке в графический редактор будет вставлено изображение с данным текстом. Кроме этого, в некоторых случаях операционная система может выполнять определенные преобразования с теми данными, которые попадают в буфер обмена. Это может быть изменение кодировки текста или формата данных.
При необходимости функциональность буфера обмена можно расширить при помощи сторонних программ (диспетчеры буфера обмена). Такие программы позволяют:
Для Windows существуют следующие диспетчеры буфера обмена: Ditto, CLCL, ClipX, Clipboard Help+Spell, ArsClip, Free Clipboard Viewer, PasteCopy.NET, Clipdiary, Comfort Clipboard, lipboard Master, Outertech Clipboard History, FastPaste.
Где находится буфер обмена
Буфер обмена всегда находится в оперативной памяти компьютера. Когда вы что-то копируете или вырезаете это помещается в оперативную память и хранится там до тех пор, пока вы не скопируете какой-то другой объект, который перезапишет предыдущий.
При использовании буфера обмена необходимо помнить, что оперативная память — это энергозависимый тип компьютерной памяти. Это означает, что оперативная память хранит данные только до тех пор, пока есть электропитание. Если электропитание пропадает, то содержимое оперативной памяти полностью очищается.
Поэтому не стоит рассчитывать на буфер обмена как на надежное хранилище данных. Поскольку при выключении компьютера (по любой причине) содержимое буфера обмена будет полностью удалено.
Как пользоваться буфером обмена
Для того чтобы скопировать что-то в буфер обмена достаточно кликнуть по этому объекту правой кнопкой мышки и выбрать пункт «Скопировать» или «Вырезать». Вставка данных из буфера обмена выполняется аналогично, только с использованием команды «Вставить».
Также вы можете использовать комбинации клавиш. Для копирования данных существуют комбинации Ctrl-C и Ctrl-Ins, для вырезания данных Ctrl-X и Shift-Del, и для вставки данных Ctrl-V и Shift-Ins.
Что такое буфер обмена
Буфер обмена Windows и Word. Где находится и как работать?
Как работает буфер обмена в Windows
Недавно у меня появилась возможность выполнить отладку буфера обмена в Windows, и я решил, что хорошо бы поделиться информацией, которую удалось узнать. Буфер обмена — это тот компонент Windows, который многие из нас используют десятки (сотни?) раз в день, особо не размышляя об этом. Прежде чем взяться за это дело, я даже никогда не задумывался, как всё устроено. Как выяснилось, там столько интересного, что вы даже не можете себе представить. Сначала опишу, как приложения хранят разные типы данных в буфере обмена и как извлекают их оттуда, а затем — как приложения могут «прицепиться» к буферу и отслеживать изменения в нём. В обоих случае вы увидите отладочные записи, которые показывают, как получить доступ к данным из отладчика.
Начнём с обсуждения форматов буфера обмена. Такие форматы используются для описания, какие типы данные можно поместить в буфер. Там есть некоторое количество предопределённых стандартных форматов, которые может использовать приложение, вроде битового массива, текста ANSI, текста в Юникоде и TIFF. Windows также позволяет приложению установить собственный формат. Например, текстовый процессор может зарегистрировать формат, включающий в себя текст, форматирование и картинки. Конечно, это ведёт к определённой проблеме: что произойдёт, если вы скопируете данные из текстового редактора и вставите их в «Блокнот», который не понимает всего этого форматирования и не отображает картинки?
Выход — разрешить одновременное хранение данных в буфере обмена в нескольких форматах. Когда я раньше думал о буфере обмена, то представлял, что там хранится единственный объект («мой текст» или «моя картинка»), но на самом деле мои данные хранятся в буфере в разных формах. Программа, которая берёт информацию из буфера, получает её в том формате, который она может использовать.
Как же данные появляются в буфере обмена? Очень просто, приложение сначала объявляет о праве собственности на буфер обмена через функцию OpenClipboard. После этого программа может очистить буфер обмена командой EmptyClipboard и, наконец, поместить туда свои данные командой SetClipboardData. SetClipboardData принимает два параметра. Первый — это идентификатор одного из форматов буфера обмена, которые мы упоминали выше. Второй — дескриптор сегмента в памяти, который содержит данные в этом формате. Приложение может неоднократно вызывать команду SetClipboardData для каждого из форматов, какие она хочет поместить в буфер, от лучшего к худшему (поскольку то приложение, куда будут вставляться данные, выберет первый подходящий формат из списка). Чтобы облегчить жизнь разработчику, Windows автоматически обеспечивает конвертацию некоторых типов форматов для буфера обмена. По окончании процесса программа вызывает CloseClipboard.
Когда пользователь нажимает кнопку «Вставить», целевое приложение вызывает OpenClipboard и одну из следующих функций для определения доступных форматов данных: IsClipboardFormatAvailable, GetPriorityClipboardFormat или EnumClipboardFormats. Если оно находит подходящий формат, то тогда вызывает GetClipboardData с идентификатором нужного формата в качестве параметра, чтобы получить данные. В конце приложение использует команду CloseClipboard для закрытия буфера.
Вот как выглядит вызов к SetClipboardData от «Блокнота»:
Итак, теперь мы можем просмотреть содержимое RDI как tagCLIP и увидеть, что записано в буфер:
aheList в gSharedInfo содержит массив с дескрипторами, и последние два байта hData, умноженные на размер записи дескриптора, показывают адрес записи нашего дескриптора:
Если посмотреть phead со смещением 14, то мы получим наши данные (это смещение может отличаться на разных платформах):
Представим другой сценарий. Я скопировал какой-то текст из Wordpad, и команда SetClipboardData отработала определённое количество раз, чтобы разместить данные в разных форматах. Запись в формате Юникода выглядит так::
hData равен нулю! Почему так? Оказывается, буфер обмена позволяет приложению передавать нуль в качестве параметра SetClipboardData для определённого формата. Это означает, что приложение способно предоставить данные в данном формате, но сделает это позже, в случае необходимости. Если я захочу вставить текст в «Блокнот», для чего в буфере должен быть текст в Юникоде, Windows отправит сообщение WM_RENDERFORMAT в окно WordPad, и тогда WordPad предоставит данные в новом формате. Конечно, если приложение закрывается до того, как предоставило данные во всех форматах, Windows понадобятся все форматы. В этом случае Windows отправит сообщение WM_RENDERALLFORMATS, чтобы другие приложения могли использовать данные из буфера обмена после закрытия материнского приложения.
Теперь посмотрим, как приложение может отслеживать буфер обмена на предмет изменений. Это важно знать, потому что в этом месте Windows позволяет сторонним приложениям подключаться к системе. Если у вас наблюдаются непонятные глюки с копированием и вставкой, причиной может быть некорректное поведение какой-то из таких программ. Начнём с того, что рассмотрим механизмы подключения к буферу обмена. Затем рассмотрим, можно ли с помощью отладчика идентифицировать приложения, которые используют такие хуки.
Есть три способа отслеживать буфер обмена на предмет изменений: просмотр буфера, прослушивание форматов буфера и запрос порядкового номера буфера. Мы сосредоточимся на первых двух способах, потому что они предусматривают получение уведомлений, когда содержимое буфера обновилось. В третьем методе приложение должно само проверять каждый раз, изменился ли буфер, и этот метод нельзя использовать в цикле опросов.
Функциональность Clipboard Viewer появилась ещё в версии Windows 2000, если не раньше. Принцип работы довольно простой: приложение, которое заинтересовано в получении уведомлений об изменении в буфере, вызывает SetClipboardViewer и передаёт дескриптор своего окна. Windows хранит этот дескриптор в структуре win32k, и каждый раз при изменении буфера обмена Windows отправляет сообщение WM_DRAWCLIPBOARD в зарегистрированное окно.
Конечно, зарегистрироваться для просмотра буфера могут несколько окон — как Windows справится с этим? Ну, если приложение вызывает SetClipboardViewer, а другое окно раньше уже зарегистрировалось для просмотра буфера обмена, то Windows возвращает новому окну значение дескриптора предыдущего окна. И теперь новое окно, следящее за буфером, обязано вызвать SendMessage каждый раз, когда получает WM_DRAWCLIPBOARD, и уведомить об изменении буфера следующее окно в цепочке тех, кто следит за буфером. Каждое из окон, следящих за буфером, также должно обрабатывать сообщения WM_CHANGECBCHAIN. Такие сообщения уведомляют все остальные окна об удалении одного звена в цепочке и сообщают, какое звено становится следующим в очереди. Это позволяет сохранить цепочку.
Очевидная проблема подобной архитектуры состоит в следующем: она рассчитывает, что каждое приложение, следящее за буфером, будет вести себя корректно, не завершать неожиданно работу и в целом будет хорошим гражданином в системе. Если какое-то из приложений начнёт вести себя недружественно, то оно не отправит уведомление об изменении буфера обмена следующему приложению в цепочке, в результате чего вся цепочка останется без уведомлений.
Чтобы справиться с такими проблемами, в Windows Vista добавили механизм прослушивания формата буфера обмена — Clipboard Format Listener. Он работает во многом так же, как просмотр буфера обмена, за исключением того, что Windows сама ведёт список приложений, которые прослушивают буфер, а не полагается на добропорядочность приложений, которые должны сохранять цепочку.
Если приложение хочет прослушивать буфер, оно вызывает функцию AddClipboardFormatListener и передаёт дескриптор своего окна. После этого обработчик сообщений окна будет получать сообщения WM_CLIPBOARDUPDATE. Когда приложение собирается завершить работу или больше не хочет получать уведомления, оно вызывает RemoveClipboardFormatListener.
Мы рассмотрели, как зарегистрировать просмотр/прослушивание буфера обмена. Теперь посмотрим, как с помощью отладчика определить, какие программы участвуют в этих процессах. Сначала нужно идентифицировать процесс в сессии, где мы хотим проверить мониторинг буфера обмена. Это может быть любой процесс win32 в этой сессии — он нужен нам просто для того, чтобы найти указатель на Window Station. В этом случае я бы использовал окно «Блокнота», как и раньше:
Далее посмотрим адрес Win32Process как win32k!tagPROCESSINFO и узнаем значение rpwinsta:
Это наша Window Station. Сливаем содержимое через dt:
Обратите внимание на поля spwndClipViewer, spwndClipboardListener и spwndClipOwnerfields. Здесь spwndClipViewer — это последнее зарегистрированное окно в цепочке тех, кто просматривает буфер обмена. Также spwndClipboardListener — последнее зарегистрированное окно прослушивания буфера в списке Clipboard Format Listener. Окно spwndClipOwner — это то окно, которое разместило данные в буфере обмена.
Ели мы знаем окно, то осталось несколько шагов, чтобы узнать, к какому процессу оно относится. Нас интересуют forspwndClipViewer, spwndClipboardListener и spwndClipOwner. Сначала запускаем dt, чтобы узнать значение tagWND. Для этой демонстрации мы используем spwndClipViewer:
Нас интересует только значение head — так что если смещение 0, делаем dt для того же адреса на _THRDESKHEAD:
Теперь запускаем dt для адреса, указанного в поле pti как tagTHREADINFO:
Как видим, просмотр буфера обмена зарегистрировн от имени процесса viewer02.exe. Поскольку просмотр идёт по цепочке, определить следующий процесс в цепочке будет непросто. Но мы можем сделать это для тех, кто прослушивает буфер. Снова взглянем на нашу Window Station:
Если запустить dt на spwndClipboardListener, то увидим поле spwndClipboardListenerNext с указанием следующего прослушивающего процесса:
При достижении последнего процесса в списке прослушивающих буфер tagWND, значение его поля spwndClipboardListenerNext будет нулевым:
Используя адрес окна, мы можем тем же методом добраться до названия процесса. Как упоминалось ранее, поскольку tagWND — это структура ядра, ОС сама хранит указатели spwndClipboardListener/spwndClipboardListenerNext, так что они не могут привести к таким проблемам с отслеживанием буфера, как цепочки просмотра.
На этом заканчивается наш обзор буфера обмена Windows. Надеюсь, для вас он стал информативным. Хотите узнать больше о мониторинге буфера обмена? Вот хорошая статья MSDN об этом.
Буфер обмена
В этом уроке я расскажу, что такое буфер обмена, где он находится и как его открыть в Windows.
Буфер обмена — это часть оперативной памяти стационарного компьютера или ноутбука, а также телефона или планшета (Android, iOS). В этот раздел временно сохраняется то, что мы копируем. Информация, которая в нем находится, пользователю не видна.
Объясню на примере ПК с системой Windows. Допустим, у меня на Рабочем столе есть папка, которую нужно переписать на флешку. Значит, щелкаю по ней правой кнопкой мыши и выбираю пункт «Копировать». Вроде как ничего не изменилось, всё осталось по-прежнему. Но эта папка сохранилась в невидимой памяти, и сейчас компьютер держит ее в «уме» — в буфере обмена.
Теперь я открываю свою флешку и вставляю в нее скопированную папку: щелкаю правой кнопкой мыши по пустому месту и выбираю «Вставить».
Папка с Рабочего стола добавляется на флешку.
Вот так это и работает. Мы копируем какую-то информацию и тем самым добавляем ее в буфер обмена, а потом вставляем (вытаскиваем оттуда).
Как долго там хранится информация
Хранится она там до тех пор, пока не будет заменена новой. Или до выключения (перезагрузки) компьютера.
Объясню на примере. Допустим, я в интернете прочел интересную заметку. Она мне так сильно понравилась, что я захотел ее сохранить у себя на компьютере. Дело это нехитрое: нужно выделить текст, скопировать, вставить в файл и сохранить.
Кстати, об этом у меня на сайте есть отдельный урок.
Значит, я выделяю нужный мне кусочек текста и копирую его.
Как вы уже знаете, он сразу же попадает в буфер обмена и будет там находиться до тех пор, пока я его куда-то не вставлю. Но, допустим, я отвлёкся на другую статью. И в ней нахожу что-то, что тоже хотел бы сохранить на свой компьютер. Так вот если я выделю и скопирую эту новую часть, то тот текст, который был скопирован до этого, сотрется. Он заменится новым фрагментом. И при вставке добавится только новый текст.
Кроме того, буфер обмена полностью очищается при выключении и повторном включении компьютера. То есть если я, например, решу прогуляться и перед этим выключу компьютер, то всё, что копировалось, но не было вставлено — удалится. А, значит, включить, войти и извлечь информацию не удастся.
Буфер обмена — временное и очень ненадежное хранилище. Если уж вы скопировали какую-то информацию, то не забудьте ее сразу же вставить.
Не зря под понятием «копирование» подразумевают и вставку тоже. То есть имеют в виду не одно, а сразу два действия. Ведь при копировании данные попадают в промежуточное место, откуда должны быть непременно вставлены. Иначе они не сохраняются, а удаляются.
Где находится буфер обмена
Где искать буфер обмена? У него есть вполне реальное место в компьютере: Локальный диск C — Windows — system32 — файл clip.exe
Но в Windows 7, 8 и 10 этот файл не открывается. То есть вызвать его и посмотреть, что там находится, невозможно. А вот в Windows XP он называется clipbrd.exe и найти его таки можно. И если предварительно скопировать какой-нибудь текст, то он будет внутри этого файла.
Это системный файл. Его нельзя удалить, переместить или переименовать.
Как очистить
Если вы копируете текстовые фрагменты или небольшие файлы, тогда особого смысла в его очистке нет. Однако при копировании больших объектов (например, фильмов) Виндовс может начать притормаживать. Ведь вся информация должна попасть во временное хранилище, которое находится на системном Локальном диске. И даже после вставки она по-прежнему будет «сидеть» в буферной памяти.
Но это легко поправить: просто скопируйте какой-нибудь небольшой файл, например, фотографию или документ Ворда. Или сделайте скриншот (снимок экрана) — для этого нажмите кнопку Print Screen на клавиатуре. Тогда все, что до этого было в буфере, сотрется и туда добавятся новые данные.
Программа для работы с буфером обмена
Существует несколько приложений, которые предназначены для управления временным хранилищем. Нужны они в том случае, если человек часто работает с текстом. Ведь такие программы позволяют доставать текстовые фрагменты, которые были скопированы ранее. К папкам и файлам это не относится.
Подобных программ существует несколько, но я использую бесплатную Punto Switcher от Яндекса. Ее основная задача — автоматически менять раскладку клавиатуры, когда пользователь об этом забыл.
Например, я печатаю какой-то текст и вдруг замечаю, что забыл поменять язык на русский — всё набирается английскими буквами. Вот Punto Switcher не допускает таких ситуаций. Программа сама автоматически меняет раскладку и «переводит» текст.
Так вот кроме смены раскладки это приложение обладает массой других полезных функций. В том числе помогает работать с буфером обмена — сохраняет его и позволяет доставать фрагменты текста, которые были скопированы в разное время.
Установка Punto Switcher
Для начала, проверьте, может, она уже есть на компьютере. Для этого посмотрите на панель задач — в нижнюю правую часть экрана. Если вместе со значком алфавита или вместо него есть вот такая иконка, значит, программа у вас уже установлена.
Иконка есть? Отлично! Тогда щелкните по ней правой кнопкой мышки, чтобы точно убедиться, что это именно Punto Switcher.
Если такую программу вы у себя не находите, нужно скачать ее с официального сайта по ссылке. Затем открыть файл и установить приложение. Организовать это просто: запускаете скачанный файл, со всем соглашаетесь и нажимаете «Далее». Единственное, программа предложит добавить на компьютер разные Яндексовские штучки. Если вам это не надо, снимите все галочки.
После установки на панели задач (справа) появится вот такая иконка:
Или такая, если выбран английский алфавит:
Теперь программа будет запускаться каждый раз при загрузке компьютера и всё время следить за тем, что и как вы печатаете.
Работа в Punto Switcher
Программа может сохранять до 30 текстовых фрагментов, к которым у вас всегда будет доступ через историю. Также Punto Switcher позволяет транслитерировать фрагменты в буфере обмена и сохранять его даже после перезагрузки системы. Но для всего этого необходимо сделать кое-какие настройки.
Теперь текстовые фрагменты, которые вы копируете, будут сохраняться в программе. И любой из них можно будет оттуда достать. Для этого нужно щелкнуть правой кнопкой мыши по иконке Punto Switcher, после чего выбрать пункт «Буфер обмена» и «Посмотреть историю».
Щелкаем по тому кусочку, который нужен, и он копируется. После чего его останется только вставить.
Какими клавишами можно скопировать текст
Копирование и вставку можно делать не только через правую кнопку мыши. Для этого служит и сочетание клавиш клавиатуры Ctrl + С и Ctrl + V.
Принцип следующий: выделяем то, что нужно скопировать, зажимаем клавишу Ctrl и затем нажимаем на клавишу С. Переходим туда, куда эту информацию нужно поместить, зажимаем Ctrl и V (русскую М).















