- Раймонд Чен из Microsoft объясняет, что в Win32 есть концепция владельца буфера обмена.
- Владелец буфера обмена получает закодированное сообщение, когда кто-то запрашивает данные из буфера обмена.
- Отрисовка с задержкой позволяет пользователю отложить создание сложных данных буфера обмена.
- В этой статье вы узнаете, при каких обстоятельствахизменение буфера обмена.
В недавнем сообщении в блоге Microsoft Рэймонд Чен из Microsoft объясняет всем пользователям, как именно право собственности на буфер обмена Windows отслеживается в Win32.
Эта информация может оказаться бесценной для некоторых наиболее восторженных и технически подкованных пользователей Windows, и мы уверены, что вы с этим согласитесь.
Отслеживание владения буфером обмена Windows в Win32
Как некоторые из вас, возможно, знают, в Win32 есть понятие владельца буфера обмена. Предполагаемое правило, лежащее в основе всего этого, заключается в том, что владельцем буфера обмена фактически является окно, которое создало данные, которые в настоящее время находятся в буфере обмена.
В этом посте, Чен также объясняет конкретный шаблон использования для помещения данных в буфер обмена. Он упоминает, что владелец буфера обмена получает закодированное сообщение, когда кто-то запрашивает данные из буфера обмена, которые были настроены как обработанные с задержкой.
Эти закодированные сообщения также принимаются как часть последовательности уничтожения окна, если оно все еще является владельцем буфера обмена на момент его уничтожения.
Таким образом, рендеринг с задержкой позволяет пользователю отложить создание сложных данных буфера обмена до момента запроса.
Следование правилам имеет первостепенное значение
Раймонд Чен упоминает тот факт, что очень важно соблюдать определенные правила при выполнении этого процесса, и указывает, что на самом деле не все это делают.
Мы можем понять это, увидев, как некоторые программы открывают буфер обмена с целью добавления данных вместо полной замены содержимого.
Еще во времена 16-битной Windows система предполагала, что приложения работают честно и работают по правилам для общего блага.
Далее он объясняет, что этот сценарий данных бонусного буфера обмена создает проблему, поскольку есть только один владелец буфера обмена, но теперь есть два windows, которые сотрудничали, чтобы поместить данные в буфер обмена.
Право собственности на буфер обмена меняется только при этих обстоятельствах, как объяснил Чен:
- Когда пустой буфер обмена команда развернута, текущее средство открытия буфера обмена становится владельцем буфера обмена.
- Когда владелец буфера обмена уничтожается, владелец буфера обмена сбрасывается до нуля.
Единственным логическим выводом здесь было бы то, что владелец буфера обмена можно резюмировать как окно, которое последним вызывало пустую команду клавиатуры, если оно все еще существует.
Всю эту полезную информацию можно просмотреть, прочитав полную статью, представленную в блоге Microsoft.
Как вы относитесь к методам, представленным сотрудником Microsoft? Сообщите нам все об этом в разделе комментариев ниже.