Буфер обмена — это временное хранилище для переноса информации от одного приложения к другому. Старые данные при следующем копировании заменяются новыми. Чтобы правильно работать с буфером обмена, необходимо знать, где он находится и для чего нужен.

Расположение на компьютере

Буфер обмена необходим для переноса информационных данных к определенной части приложения путем использования функций копировать, вырезать и вставить. Чтобы получить к нему доступ, необходимо перейти по папкам следующим образом — Системный диск (C:) → Windows → system32 → файл clip с расширением exe. В операционной системе Windows, начиная с версии Windows 7, его нельзя открывать.

Сам файл промежуточного хранилища нельзя открыть, поэтому устанавливают специальную программу.

Благодаря ей пользователю будет доступен просмотр буфера. Легче всего открыть доступ с помощью программы Punto Switcher от Яндекса. Она является бесплатной и предназначена для некоммерческого использования. После установки программы необходимо перейти в Настройки → Общие → Дополнительные.

Затем надо отметить галочки возле соответствующих пунктов: показывать окно с результатами конвертации и показывать всплывающие подсказки. После нажатия кнопки ОК программа начнет отслеживание копируемых данных. Чтобы посмотреть информацию или историю, нужно перейти Буфер обмена → Посмотреть историю. Большинство программ для обработки файлов имеет свое хранилище данных, которое обладает более широким функционалом по сравнению с буфером операционной системы.

Чтобы расширить возможности штатного хранилища, можно воспользоваться специальными программами.

Особенности работы

Буфер обмена — это часть оперативной памяти компьютера, где копируемая информация хранится в течение некоторого времени. К временным данным относятся видео, текст или изображения, с которыми пользователь компьютера работает. При попадании информации в память с произвольной выборкой (RAM — Random Access Memory) пользователь может с ней работать в соответствии со своими нуждами.

Например, при наборе текстового сообщения можно его скопировать и вставить в другое место. При этом скопированная информация занесется в хранилище.

Оперативная память является энергозависимой, поэтому при выключении компьютера или любого другого устройства хранящиеся в буфере обмена данные стираются. После этого их невозможно восстановить. Для работы с хранилищем используются горячие клавиши или контекстное меню. Чтобы скопировать текстовую информацию, применяют сочетание клавиш Ctrl + A (для полного выделения текста), C (для копирования) и V (для вставки в новое место).

Назначение и рекомендации по выбору домашнего концентратора для дома

В результате последней операции производится вставка хранящихся данных для дальнейшего использования.

Если в оперативной памяти находится файл слишком большого размера, компьютер начинает тормозить. Чтобы этого избежать, нужно очистить хранилище путем копирования более легкого элемента. Можно скопировать небольшой текстовый фрагмент. Благодаря замене файла информацией меньшего объема компьютер начнет нормально функционировать.

Чтобы лучше понять, как работает буфер обмена, хранилище сравнивают с переносом музыкальных треков через флешку с одного компьютера на другой. В этом случае флешка является промежуточным хранилищем данных, а компьютеры — программами, между которыми происходит обмен.

Original author: Matt Burrough Недавно у меня появилась возможность выполнить отладку буфера обмена в Windows, и я решил, что хорошо бы поделиться информацией, которую удалось узнать. Буфер обмена — это тот компонент Windows, который многие из нас используют десятки (сотни?) раз в день, особо не размышляя об этом. Прежде чем взяться за это дело, я даже никогда не задумывался, как всё устроено. Как выяснилось, там столько интересного, что вы даже не можете себе представить. Сначала опишу, как приложения хранят разные типы данных в буфере обмена и как извлекают их оттуда, а затем — как приложения могут «прицепиться» к буферу и отслеживать изменения в нём. В обоих случае вы увидите отладочные записи, которые показывают, как получить доступ к данным из отладчика. Начнём с обсуждения форматов буфера обмена. Такие форматы используются для описания, какие типы данные можно поместить в буфер. Там есть некоторое количество предопределённых стандартных форматов, которые может использовать приложение, вроде битового массива, текста ANSI, текста в Юникоде и TIFF. Windows также позволяет приложению установить собственный формат. Например, текстовый процессор может зарегистрировать формат, включающий в себя текст, форматирование и картинки. Конечно, это ведёт к определённой проблеме: что произойдёт, если вы скопируете данные из текстового редактора и вставите их в «Блокнот», который не понимает всего этого форматирования и не отображает картинки? Выход — разрешить одновременное хранение данных в буфере обмена в нескольких форматах. Когда я раньше думал о буфере обмена, то представлял, что там хранится единственный объект («мой текст» или «моя картинка»), но на самом деле мои данные хранятся в буфере в разных формах. Программа, которая берёт информацию из буфера, получает её в том формате, который она может использовать. Как же данные появляются в буфере обмена? Очень просто, приложение сначала объявляет о праве собственности на буфер обмена через функцию OpenClipboard. После этого программа может очистить буфер обмена командой EmptyClipboard и, наконец, поместить туда свои данные командой SetClipboardData. SetClipboardData принимает два параметра. Первый — это идентификатор одного из форматов буфера обмена, которые мы упоминали выше. Второй — дескриптор сегмента в памяти, который содержит данные в этом формате. Приложение может неоднократно вызывать команду SetClipboardData для каждого из форматов, какие она хочет поместить в буфер, от лучшего к худшему (поскольку то приложение, куда будут вставляться данные, выберет первый подходящий формат из списка). Чтобы облегчить жизнь разработчику, Windows автоматически обеспечивает конвертацию некоторых типов форматов для буфера обмена. По окончании процесса программа вызывает CloseClipboard. Когда пользователь нажимает кнопку «Вставить», целевое приложение вызывает OpenClipboard и одну из следующих функций для определени я доступных форматов данных: IsClipboardFormatAvailable, GetPriorityClipboardFormat или EnumClipboardFormats. Если оно находит подходящий формат, то тогда вызывает GetClipboardData с идентификатором нужного формата в качестве параметра, чтобы получить данные. В конце приложение использует команду CloseClipboard для закрытия буфера. Теперь взглянем, как с помощью отладчика определить, какие данные записаны в буфер обмена. (Заметьте, что все мои записи сделаны в системе Win7/2008 R2 — так что на других версиях ОС они могут выглядеть несколько иначе). Поскольку буфер является частью Win32k.sys, вам понадобится отладчик ядра. Я люблю использовать в качестве контрольной точки win32k!InternalSetClipboardData+0xe4. В таком смещении хорошо то, что оно находится за регистром RDI, заполненным данными из SetClipboardData в структуре, известной как tagCLIP.

kd> u win32k!InternalSetClipboardData+0xe4-c L5 win32k!InternalSetClipboardData+0xd8: fffff960`0011e278 894360          mov     dword ptr [rbx+60h],eax fffff960`0011e27b 8937            mov     dword ptr [rdi],esi fffff960`0011e27d 4c896708        mov     qword ptr [rdi+8],r12 fffff960`0011e281 896f10          mov     dword ptr [rdi+10h],ebp fffff960`0011e284 ff15667e1900    call    qword ptr[win32k!_imp_PsGetCurrentProcessWin32Process (fffff960`002b60f0)]
kd> dt win32k!tagCLIP    +0x000 fmt              : Uint4B    +0x008 hData            : Ptr64 Void    +0x010fGlobalHandle     : Int4B

Вот как выглядит вызов к SetClipboardData от «Блокнота»:

kd> k Child-SP          RetAddr           Call Site fffff880`0513a940 fffff960`0011e14f win32k!InternalSetClipboardData+0xe4 fffff880`0513ab90 fffff960`000e9312 win32k!SetClipboardData+0x57 fffff880`0513abd0 fffff800`01482ed3 win32k!NtUserSetClipboardData+0x9e fffff880`0513ac20 00000000`7792e30ant!KiSystemServiceCopyEnd+0x13 00000000`001dfad8 00000000`7792e494 USER32!ZwUserSetClipboardData+0xa 00000000`001dfae0 000007fe`fc5b892b USER32!SetClipboardData+0xdf 00000000`001dfb20 000007fe`fc5ba625 COMCTL32!Edit_Copy+0xdf 00000000`001dfb60 00000000`77929bd1 COMCTL32!Edit_WndProc+0xec9 00000000`001dfc00 00000000`779298da USER32!UserCallWinProcCheckWow+0x1ad 00000000`001dfcc0 00000000`ff5110bc USER32!DispatchMessageWorker+0x3b5 00000000`001dfd40 00000000`ff51133c notepad!WinMain+0x16f 00000000`001dfdc0 00000000`77a2652d notepad!DisplayNonGenuineDlgWorker+0x2da 00000000`001dfe80 00000000`77b5c521 kernel32!BaseThreadInitThunk+0xd 00000000`001dfeb0 00000000`00000000ntdll!RtlUserThreadStart+0x1d

Итак, теперь мы можем просмотреть содержимое RDI как tagCLIP и увидеть, что записано в буфер:

kd> dt win32k!tagCLIP @rdi    +0x000 fmt              : 0xd    +0x008 hData            : 0x00000000`00270235 Void    +0x010fGlobalHandle     : 0n1

Fmt — это формат для буфера обмена. 0Xd — это число 13, что соответствует тексту в формате Юникода. Однако мы не можем просто запустить du по значению hData, потому что это дескриптор, а не прямой указатель на данные. Так что нужно поискать его в глобальной структуре win32k — gSharedInfo:

kd> ?win32k!gSharedInfo Evaluate expression: -7284261440224 = fffff960`002f3520 kd> dt win32k!tagSHAREDINFO fffff960`002f3520    +0x000 psi              : 0xfffff900`c0980a70 tagSERVERINFO    +0x008 aheList          : 0xfffff900`c0800000 _HANDLEENTRY    +0x010 HeEntrySize      : 0x18    +0x018 pDispInfo        : 0xfffff900`c0981e50 tagDISPLAYINFO    +0x020ulSharedDelta     : 0    +0x028 awmControl       : [31] _WNDMSG    +0x218DefWindowMsgs     : _WNDMSG    +0x228DefWindowSpecMsgs : _WNDMSG

aheList в gSharedInfo содержит массив с дескрипторами, и последние два байта hData, умноженные на размер записи дескриптора, показывают адрес записи нашего дескриптора:

kd> ?0x00000000`00270235 & FFFF Evaluate expression: 565 = 00000000`00000235 kd> ??sizeof(win32k!_HANDLEENTRY) unsigned int64 0x18 kd> ? 0xfffff900`c0800000 + (0x235*0x18) Evaluate expression: -7693351766792 = fffff900`c08034f8 kd> dt win32k!_HANDLEENTRY fffff900`c08034f8    +0x000 phead            : 0xfffff900`c0de0fb0 _HEAD    +0x008 pOwner           : (null)    +0x010 bType            : 0x6 ''    +0x011 bFlags           : 0 ''    +0x012 wUniq            : 0x27

Если посмотреть phead со смещением 14, то мы получим наши данные (это смещение может отличаться на разных платформах):

kd> du fffff900`c0de0fb0 + 0x14 fffff900`c0de0fc4 "Hi NTDebugging readers!"

Представим другой сценарий. Я скопировал какой-то текст из Wordpad, и команда SetClipboardData отработала определённое количество раз, чтобы разместить данные в разных форматах. Запись в формате Юникода выглядит так::

Breakpoint 0 hit win32k!InternalSetClipboardData+0xe4: fffff960`0011e284 ff15667e1900   call    qword ptr[win32k!_imp_PsGetCurrentProcessWin32Process (fffff960`002b60f0)] kd> dt win32k!tagCLIP @rdi    +0x000 fmt              : 0xd    +0x008 hData            : (null)    +0x010fGlobalHandle    : 0n0

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. В этом случае я бы использовал окно «Блокнота», как и раньше:

kd> !process 0 0 notepad.exe PROCESS fffff980366ecb30     SessionId: 1  Cid: 0374   Peb: 7fffffd8000  ParentCid: 0814     DirBase: 1867e000  ObjectTable: fffff9803d28ef90  HandleCount: 52.     Image: notepad.exe

Если вы делаете это в процессе отладки ядра, то понадобится интерактивно сменить контекст (используя .process /I, затем нажать g и подождать, пока отладчик прорвётся назад). Теперь запускаем DT на адрес процесса как _EPROCESS, и смотрим на поле Win32Process:

kd> dt _EPROCESS fffff980366ecb30 Win32Process nt!_EPROCESS    +0x258 Win32Process : 0xfffff900`c18c0ce0 Void

Далее посмотрим адрес Win32Process как win32k!tagPROCESSINFO и узнаем значение rpwinsta:

kd> dt win32k!tagPROCESSINFO 0xfffff900`c18c0ce0 rpwinsta    +0x258 rpwinsta : 0xfffff980`0be2af60 tagWINDOWSTATION

Это наша Window Station. Сливаем содержимое через dt:

kd> dt 0xfffff980`0be2af60 tagWINDOWSTATION win32k!tagWINDOWSTATION    +0x000 dwSessionId      : 1    +0x008 rpwinstaNext     : (null)    +0x010 rpdeskList       : 0xfffff980`0c5e2f20 tagDESKTOP    +0x018 pTerm            : 0xfffff960`002f5560 tagTERMINAL    +0x020 dwWSF_Flags      : 0    +0x028 spklList         : 0xfffff900`c192cf80 tagKL    +0x030 ptiClipLock      : (null)    +0x038 ptiDrawingClipboard: (null)    +0x040 spwndClipOpen    : (null)    +0x048 spwndClipViewer  : 0xfffff900`c1a4ca70 tagWND    +0x050 spwndClipOwner   : 0xfffff900`c1a3ef70 tagWND    +0x058 pClipBase        : 0xfffff900`c5512fa0 tagCLIP    +0x060 cNumClipFormats  : 4    +0x064 iClipSerialNumber : 0x16    +0x068 iClipSequenceNumber : 0xc1    +0x070 spwndClipboardListener : 0xfffff900`c1a53440 tagWND    +0x078 pGlobalAtomTable: 0xfffff980`0bd56c70 Void    +0x080 luidEndSession   : _LUID    +0x088 luidUser         : _LUID    +0x090 psidUser         : 0xfffff900`c402afe0 Void

Обратите внимание на поля spwndClipViewer, spwndClipboardListener и spwndClipOwnerfields. Здесь spwndClipViewer — это последнее зарегистрированное окно в цепочке тех, кто просматривает буфер обмена. Также spwndClipboardListener — последнее зарегистрированное окно прослушивания буфера в списке Clipboard Format Listener. Окно spwndClipOwner — это то окно, которое разместило данные в буфере обмена. Ели мы знаем окно, то осталось несколько шагов, чтобы узнать, к какому процессу оно относится. Нас интересуют forspwndClipViewer, spwndClipboardListener и spwndClipOwner. Сначала запускаем dt, чтобы узнать значение tagWND. Для этой демонстрации мы используем spwndClipViewer:

kd> dt 0xfffff900`c1a4ca70 tagWND win32k!tagWND    +0x000 head             : _THRDESKHEAD    +0x028 state            : 0x40020008    +0x028 bHasMeun         : 0y0    +0x028 bHasVerticalScrollbar : 0y0 …

Нас интересует только значение head — так что если смещение 0, делаем dt для того же адреса на _THRDESKHEAD:

kd> dt 0xfffff900`c1a4ca70 _THRDESKHEAD win32k!_THRDESKHEAD    +0x000 h                : 0x00000000`000102ae Void    +0x008 cLockObj         : 6    +0x010 pti              : 0xfffff900`c4f26c20tagTHREADINFO    +0x018 rpdesk           : 0xfffff980`0c5e2f20 tagDESKTOP    +0x020 pSelf            : 0xfffff900`c1a4ca70  "???"

Теперь запускаем dt для адреса, указанного в поле pti как tagTHREADINFO:

kd> dt 0xfffff900`c4f26c20 tagTHREADINFO win32k!tagTHREADINFO    +0x000 pEThread         : 0xfffff980`0ef6cb10 _ETHREAD    +0x008 RefCount         : 1    +0x010 ptlW32           : (null)    +0x018 pgdiDcattr       : 0x00000000`000f0d00 Void

Теперь нам интересно только значение поля pEThread, которое мы можем передать в !thread:

kd> !thread 0xfffff980`0ef6cb10 e THREAD fffff9800ef6cb10 Cid 087c.07ec  Teb: 000007fffffde000 Win32Thread: fffff900c4f26c20 WAIT: (WrUserRequest) UserModeNon-Alertable     fffff9801c01efe0  SynchronizationEvent Not impersonating DeviceMap                 fffff980278a0fc0 Owning Process            fffff98032e18b30       Image:         viewer02.exe Attached Process          N/A            Image:         N/A Wait Start TickCount     5435847        Ticks: 33 (0:00:00:00.515) Context Switch Count     809            IdealProcessor: 0                 LargeStack UserTime                  00:00:00.000 KernelTime                00:00:00.062 Win32 Start Address 0x000000013f203044 Stack Init fffff880050acdb0 Current fffff880050ac6f0 Base fffff880050ad000 Limit fffff880050a3000 Call 0 Priority 11 BasePriority 8 UnusualBoost 0 ForegroundBoost 2IoPriority 2 PagePriority 5 Child-SP          RetAddr           Call Site fffff880`050ac730 fffff800`01488f32 nt!KiSwapContext+0x7a fffff880`050ac870 fffff800`0148b74f nt!KiCommitThreadWait+0x1d2 fffff880`050ac900 fffff960`000dc8e7 nt!KeWaitForSingleObject+0x19f fffff880`050ac9a0 fffff960`000dc989 win32k!xxxRealSleepThread+0x257 fffff880`050aca40 fffff960`000dafc0 win32k!xxxSleepThread+0x59 fffff880`050aca70 fffff960`000db0c5 win32k!xxxRealInternalGetMessage+0x7dc fffff880`050acb50 fffff960`000dcab5 win32k!xxxInternalGetMessage+0x35 fffff880`050acb90 fffff800`01482ed3 win32k!NtUserGetMessage+0x75 fffff880`050acc20 00000000`77929e6a nt!KiSystemServiceCopyEnd+0x13 (TrapFrame @ fffff880`050acc20) 00000000`002ffb18 00000000`00000000 0x77929e6a

Как видим, просмотр буфера обмена зарегистрировн от имени процесса viewer02.exe. Поскольку просмотр идёт по цепочке, определить следующий процесс в цепочке будет непросто. Но мы можем сделать это для тех, кто прослушивает буфер. Снова взглянем на нашу Window Station:

kd> dt 0xfffff980`0be2af60 tagWINDOWSTATION win32k!tagWINDOWSTATION    +0x000 dwSessionId      : 1    +0x008 rpwinstaNext     : (null)    +0x010 rpdeskList       : 0xfffff980`0c5e2f20 tagDESKTOP    +0x018 pTerm            : 0xfffff960`002f5560 tagTERMINAL    +0x020 dwWSF_Flags      : 0    +0x028 spklList         : 0xfffff900`c192cf80 tagKL    +0x030 ptiClipLock      : (null)    +0x038 ptiDrawingClipboard : (null)    +0x040 spwndClipOpen    : (null)    +0x048 spwndClipViewer  : 0xfffff900`c1a4ca70tagWND    +0x050 spwndClipOwner   : 0xfffff900`c1a3ef70tagWND    +0x058 pClipBase        : 0xfffff900`c5512fa0 tagCLIP    +0x060 cNumClipFormats  : 4    +0x064 iClipSerialNumber : 0x16    +0x068 iClipSequenceNumber : 0xc1    +0x070 spwndClipboardListener: 0xfffff900`c1a53440 tagWND    +0x078 pGlobalAtomTable: 0xfffff980`0bd56c70 Void    +0x080 luidEndSession   : _LUID    +0x088 luidUser         : _LUID    +0x090 psidUser         : 0xfffff900`c402afe0 Void

Если запустить dt на spwndClipboardListener, то увидим поле spwndClipboardListenerNext с указанием следующего прослушивающего процесса:

kd> dt 0xfffff900`c1a53440 tagWND spwndClipboardListenerNext win32k!tagWND    +0x118 spwndClipboardListenerNext : 0xfffff900`c1a50080 tagWND

При достижении последнего процесса в списке прослушивающих буфер tagWND, значение его поля spwndClipboardListenerNext будет нулевым:

kd> dt 0xfffff900`c1a50080 tagWND spwndClipboardListenerNext win32k!tagWND    +0x118 spwndClipboardListenerNext : (null)

Используя адрес окна, мы можем тем же методом добраться до названия процесса. Как упоминалось ранее, поскольку tagWND — это структура ядра, ОС сама хранит указатели spwndClipboardListener/spwndClipboardListenerNext, так что они не могут привести к таким проблемам с отслеживанием буфера, как цепочки просмотра. На этом заканчивается наш обзор буфера обмена Windows. Надеюсь, для вас он стал информативным. Хотите узнать больше о мониторинге буфера обмена? Вот хорошая статья MSDN об этом.16834.5k 168 Рубрика: Сервисы и программы

Оглавление:

Что такое буфер обмена и где он находится на компьютере, важный вопрос для новичков. Опыт обучения в Академии заработка показывает, что большинство новичков, не знает, что это такое. В статье мы разберем, что такое буфер обмена, где он находится, как долго в нём хранится информация, как его можно очистить и рассмотрим программы для работы с буфером обмена.

Что такое буфер обмена и где он находится в компьютере, это просто

Здравствуйте друзья! Если Вы недавно начали работать с компьютером, то наверняка у Вас возникал вопрос, что такое буфер обмена и где он находится в компьютере? На самом деле, всё не так сложно. Раскроем это понятие простым языком. Буфер обмена – это временное хранилище данных на компьютере.

Например, Вы скопировали папку, картинку, текст или какие-либо другие файлы. И после этого они переместились временно в буфер обмена, до вставки этих файлов в документ или папку.

В этой папке наёдете такой файл – «Clipbrd.exe». Нажимаете на него правой кнопкой мыши и кнопку «Открыть». Далее, Вы заметите всю информацию, в этом буфере обмена. В других версиях Виндовс, путь к этому файлу такой же. Но, он называется по-другому – «Clip». Выглядит он так (Рисунок 1).

Если Вы не хотите его долго искать, достаточно в поиске (вверху с правой стороны) набрать это слово и оно автоматически найдётся.

Буфер обмена на телефоне, простыми словами для новичков

Система телефона иногда начинает немного притормаживать во время работы, и это нормально. Ведь он не имеет такой большой мощности, как компьютеры. Буфер обмена у телефонов работает аналогичным образом. Так же, как и на компьютерах.

Простыми словами на телефоном устройстве буфер обмена– это оперативная память телефона. Например, выделим несколько сообщений на нашем Смартфоне. Далее, выбираем из меню кнопку «Копировать». После этого Вы увидите системное сообщение «Скопировано в буфер обмена».

Теперь, мы можем скопированные сообщения вставить в блокнот и сохранить. Таким образом используется буфера обмена в телефоне.

Как долго хранится информация в буфере обмена

Данные файлов в буфере обмена слишком долго не хранятся. Как уже было сказано ранее, это временная память. Например, Вы скопировали одно предложение из текста и вставили его в документ. Затем выбрали ещё раз другую информацию для вставки (Рисунок 2).

После каждого копирования различной информации, в буфере обмена всё изменяется. По нескольку файлов там никогда не хранится.

Даже если Вы скопировали целый фильм, который весит например, гигабайты, его можно в ту же секунду заменить простым копированием текста из браузера или документа. Итак, мы рассмотрели, что такое буфер обмена и где он находится на компьютере. Теперь, попробуем его очистить.

Как очистить буфер обмена на компьютере и телефоне

Вам, можно не заморачиваться с очисткой буфера обмена. Поскольку мы заменяем файлы постоянно, и надолго там информация не сохраняется. Но, варианты удаления файлов из буфера обмена существуют:

  1. Стандартная очистка. С помощью горячих клавишей копирования и вставки.
  2. Выключение или перезагрузка компьютера. В данном варианте буфер обмена очищается поскольку все данные, которые мы копировали из него исчезают.

Итак, перечисленные способы Вам помогут очищать буфер обмена без каких-либо трудностей.

Программа для работы с буфером обмена

Вы можете использовать специальные программные обеспечения, которые заточены, чтобы работать с буфером обмена на компьютере. Но, мы выберем ту, которая легка в использовании, и у неё удобный функционал. Как раз то, что нужно новичку. Название этой программы — «Punto Switcher». Практически на каждом компьютере, она должна быть установлена. Но, если у Вас её нет, можете скачать эту программу в Сети.

Данная утилита помогает пользователю переключать автоматически раскладку клавиатуры. Если Вы вдруг забыли переключить её, например, на русский язык.

Она автоматически загружает скопированные данные из буфера обмена. Для этого Вам нужно подключить её к буферу обмена, чтобы она собирала с него всю информацию. Запускаем программу, идём в настройки «Общие» далее «Дополнительные настройки» и нажимаем на раздел «Следить за буфером обмена» (Рисунок 3).

После этого жмём кнопку «ОК», чтобы сохранить все изменения. Затем, перезагружаем компьютер.

Чтобы посмотреть буфер обмена в этой программе, нажимаем на её значок в трее правой кнопкой мыши, и выбираем из меню функцию «Посмотреть историю» (Рисунок 4).

Вы увидите скопированные ранее ссылки, или кусочки предложений из текста. Список программ, которые помогут Вам работать с буфером обмена:

  • утилита CLCL.
  • программа для работы с буфером обмена Clipboard.

Используйте эти программы, и Вы не только откроете буфер обмена на компьютере, но и возьмёте оттуда нужные Вам файлы.

Заключение

Подведём основные итоги. Сегодня мы узнали, что такое буфер обмена и где он находится на компьютере. Буфер обмена, это своего рода история, которая сохраняется на компьютере за счёт наших действий. Копирование файлов, вырезание предложений из текста и так далее.

Эту возможность на компьютере Вы можете использовать недолго, пока включен компьютер или не заменён файл. Буфер обмена, позволяет не терять информацию, а наоборот сохранять её. Если Вы забыли то, что скопировали, это не проблема. В буфере обмена всё это сохранилось. Так же используйте программы, которые управляют буфером обмена. Удачной Вам работы за компьютером!

С уважением, Иван Кунпан.

Просмотров: 2957Получайте новые статьи блога прямо себе на почту. Заполните форму, нажмите кнопку «Подписаться»Ваше имя: *Ваш e-mail: *ЛУЧШЕЕ РЕШЕНИЕ ДЛЯ НАЧИНАЮЩИХ«Как начать зарабатывать в интернете без вложений»

Работая на компьютере или редактируя данные в телефоне на ОС «Андроид», вы часто сталкиваетесь с буфером обмена. Узнайте, что такое буфер обмена и как им пользоваться.

Фото: Байон

Что такое буфер обмена

Термин «буфер обмена» знаком пользователям ПК и владельцам «Андроидов». Копируя информацию для последующей ее вставки, при закрытии файла появляется сообщение, что буфер содержит большой объем данных, которые рекомендуется либо сохранить, либо нет. Что такое буфер обмена?

Исходя из приведенного выше описания, можно догадаться, что буфер обмена — это временное хранилище информации. Как им пользоваться? Выделите фрагмент текста, картинку или целый файл в Проводнике, скопируйте или вырежьте. Информация попадет в буфер обмена.

Скопировать можно двумя способами — нажать комбинацию клавиш Ctrl + C или выбрать функцию «Копировать» из контекстного меню, вызываемого правой кнопкой мыши. Чтобы вырезать, нажмите Ctrl + X или «Вырезать» в контекстном меню.

Фото: softcatalog.info

Содержащуюся в буфере информацию можно вставить. Это надо сделать до выключения компьютера, иначе буфер очистится. Чтобы вставить информацию из буфера в выбранное место, поставьте туда курсор, нажмите Ctrl + V или «Вставить» в контекстном меню. В буфере информация хранится до того момента, пока вы снова что-то не скопируете или не вырежете.

Где находится буфер обмена? На компьютере большинство приложений пользуются буфером, находящимся в операционной системе. Исключение составляет Microsoft Office — тут есть собственное хранилище. На «Андроиде» информация в буфере хранится в операционной памяти устройства.

Читайте также: Как пользоваться снапчатом: эффекты на Андроиде

Буфер обмена: как пользоваться

Зайти в буфер обмена без каких-либо программ можно лишь на компьютере, где установлена ОС Windows XP или 2000. Воспользуйтесь встроенной утилитой. Для этого в Пуске выберите «Выполнить» или нажмите комбинацию Win + R. После этого в командную строку введите clpbrd.exe.

В более поздних версиях Windows такой утилиты нет. Как открыть буфер обмена? Воспользуйтесь специальными программами, например ClipX или Clpdiary. С их помощью можно регулировать объем буфера, удалять лишние хранящиеся там сведения, использовать сохраненную информацию.

Фото: softcatalog.info

Чтобы зайти в буфер на телефоне:

  • выделите фрагмент текста;
  • немного дольше удерживайте над ним палец, появится соответствующее окно.

В буфере обмена телефона может храниться до 10 скопированных фрагментов, ими можно воспользоваться или удалить выборочно/все. Эта функция доступна не на всех телефонах, но точно есть на устройствах производства Samsung и LG.

Фото: Все про Андроид

В работе зачастую требуется временное хранилище информации, чтобы обеспечить ее перенос. С целью контролировать буфер памяти используйте специальные программы или утилиты. Успехов!

Читайте также: Как скачать видео с Ютуб на телефон Андроид

Доброго всем времени на fast-wolker.ru! Многие начинающие пользователи сталкиваются с различными еще неизвестными компьютерными понятиями, что вполне нормально, и пытаются в них разобраться. По сути это и есть компьютерная грамотность.

Многие элементы этих знаний важны, даже несмотря на свою простоту. Одним из таких моментов является понятие «буфера обмена». Что это такое, мы сейчас и рассмотрим.

Что такое буфер обмена и где он находится в компьютере?

Понятие «буфер обмена», в принципе, говорит само за себя. Это такое место в компьютере, куда временно помещаются и хранятся короткое время  некоторое время некие  данные. Во время работы как с текстовыми файлами, так и с изображениями,  (не говоря о сети интернет, мы так или иначе копируем и сохраняем для себя какую-то информацию.

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

Итак, найдя в тексте нужную информацию или обнаружив нужную картинку, мы нажимаем правой клавишей мыши и в открывшемся меню выбираем надпись «копировать».

В результате эта информация или файл попадают в специальную область компьютера, где будут храниться до тех пор, пока мы не вставим ее в необходимое нам место. Надо заметить, что после выключения компьютера эта информация из буфера обмена автоматически стирается и при повторном включении ее в буфере обмена уже не будет. Поэтому, при выключении своего компьютера убедитесь, что все нужное у вас сохранено.

Область компьютера, в которой храниться временные данные называется «оперативной памятью»(ОЗУ, RAM). У каждой ячейки есть адрес, в который временно помещается информация из буфера обмена, а так же другая служебная информация. Под буфер обмена отводится некий диапазон ячеек ОЗУ.

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

Но при вставке информации, файла, картинки и прочее, они из буфера обмена не удаляются. Таким образом, вы можете вставлять неограниченное количество раз.

Есть и технические нюансы. Не всякую скопированную информацию можно вставить туда, куда хочется. Например, открыв папку в нее вы вставите только файл, а вот текст вы сможете вставить только в редактор или ворд, или какой-либо другой. Так же как и скопированный текст из интернета. Его можно вставить только в текстовой редактор и никуда более.

При работе с копированием и вставкой можно пользоваться не только клавишами мыши, но и самой клавиатурой. Для этого вам понадобятся следующие комбинации клавиш:

Где же хранится эта скопированная информация? В операционной системе старого образца Windows XP есть специальная программа под названием «Clipbrd.exe». Открыв ее можно узнать, что храниться в буфере обмена этой системы.

Найти программу можно по следующему пути: «C:/Documents and Settings/System 32». Что же касается более поздних версий, таких ка 7 и пр., то такой программы там уже нет, а имеется просто исполняющий файл. Расположен он в папке «C:/ windows/System 32», а там находим файл под именем clip.exe. Если навести на него курсором мыши то можно прочитать его свойства.

Поскольку стандартный буфер обмена сохраняет только одну информацию, заменяя ею предыдущую, а иногда возникает необходимость в сохранении и повторной вставке одной и той же информации, то были разработаны программы для таких целей. Одна из них (Для Windows 7) – утилита Comfort Clipboard.

Эта программа удобна тем, что в ней сохраняется вся скопированная информация, включая текст, папки, файлы и пр. Они уже не заменяют друг друга, а содержатся в ней все. В результате вы сможете выбирать и вставлять что вам нужно и куда нужно.

Что такое буфер обмена в телефоне и где он находится?

В телефоне так же имеется буфер обмена, который играет аналогичную роль, что и в компьютере. Все скопированные файлы хранятся в этом месте до тех пор, пока их не переместили.

Буфер обмена находится в оперативной памяти смартфона. Что бы скопировать и переместить любой файл, достаточно нажать на него и несколько секунд удерживать. Появится надпись «Копировать» или «Переместить». Выбираем нужное, затем вам предложат выбрать место для копирования или перемещения. Выбираете – в основной памяти телефона или же переносите на карту памяти. В результате произойдет процесс копирования.

Проверять буфер обмена и очищать его так же, как и память и ненужные файлы – необходимо. Поскольку телефон, в отличие от компьютера гораздо менее производителен. Что бы добраться до буфера обмена в телефоне надо воспользоваться специальными программами. Одна из них – Clipper. Это довольно простая в использовании утилита.

После установки программы и копировании каких-либо данный, открыв программу во вкладке буфер обмена их можно будет обнаружить.

Эти данные можно как вставлять куда необходимо, так и удалять в любой момент. Вот такие особенности буфера обмена как на компьютере, так и на телефоне. Успехов!

Используемые источники:

  • https://inflife.ru/bufer-obmena/
  • https://m.habr.com/post/339442/
  • https://biz-iskun.ru/chto-takoe-bufer-obmena-i-gde-on-nahoditsya-v-kompyutere.html
  • https://www.nur.kz/1718924-cto-takoe-bufer-obmena-i-kak-im-polzovatsa.html
  • https://fast-wolker.ru/chto-takoe-bufer-obmena-i-zachem-on-nuzhen.html

ОСТАВЬТЕ ОТВЕТ

Please enter your name here
Please enter your comment!