Есть ли какой-либо предел размера данных, которые можно скопировать в буфер обмена? Я использую VB6 и вам нужно скопировать блоки данных в буфер обмена.
Ограничение размера буфера обмена
Ответ 1
Приложения вызывают GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE)
, чтобы выделить память для хранения данных в буфере обмена и сделать ее доступной для других приложений. Для 32-разрядных приложений GlobalAlloc
может выделять блоки размером до 2 ГБ или до количества виртуальной памяти, имеющейся на ПК, в зависимости от того, что меньше. Буфер обмена Windows не накладывает никаких других ограничений размера.
Ответ 2
Большинство данных копируются как ссылка, а не сами данные, поэтому вы можете скопировать большинство любых размеров. Текст, хотя на самом деле скопирован, и из того, что я знаю, количество данных ограничено тем, сколько бара доступно в настоящее время. Помните это, если vb6 может справиться с этим, я уверен, что буфер обмена может справиться с этим.
Ответ 3
Зависит от объема памяти в системе.
Ответ 4
В качестве информации: вы можете думать, что буфер буфера обмена является небольшим при копировании текста с некоторыми <NUL> (ascii 0) в редактор.
В этом случае проблема заключается не в размере буфера обмена, а в редакторе распознается <NUL> как конец текста и больше не вставляться после этого символа.