Многие приложения работают с данными, которые не могут быть преобразованы в стандартный формат буфера обмена без потери информации. Эти приложения могут создавать свои собственные форматы. Формат буфера обмена, который определяется приложением, называется зарегистрированный формат буфера обмена. Например, если бы программа обработки текстов скопировала отформатированный текст в буфер обмена, используя стандартный текстовый формат, информация форматирования была бы потеряна. Метод решения этой проблемы состоял бы в том, чтобы зарегистрировать новый формат буфера обмена, такой как RTF.
Чтобы зарегистрировать новый формат буфера обмена, используйте функцию RegisterClipboardFormat. Эта функция берет название формата и возвращает беззнаковое целочисленное значение, которое обозначает зарегистрированный формат буфера обмена. Чтобы извлечь название зарегистрированного формата буфера обмена, передайте это значение целого числа без знака в функцию GetClipboardFormatName.
Если больше чем одно приложение зарегистрирует формат буфера обмена с точно таким же названием, то этот формат регистрируется только однажды. Оба вызова функции RegisterClipboardFormat, возвращают то же самое значение. Таким образом, два различных приложения могут совместно использовать данные при помощи использования зарегистрированного формата буфера обмена.