У меня есть приложение с управлением списком файлов и папок, которое поддерживает операции перетаскивания. Теперь я бы хотел, чтобы пользователь мог добавить библиотеку Windows 7 (например, «Музыка», «Изображения» и т. Д.) В этот элемент управления.
В моем обработчике отбрасывания у меня есть COleDataObject
, и теперь я пытаюсь выяснить, была ли библиотека помещена в элемент управления. Поскольку объект, кажется, не содержит стандартный формат (например, CF_HDROP
), я использую COleDataObject::BeginEnumFormats
и COleDataObject::GetNextFormat
для перечисления форматов в объекте данных. Я получаю в общей сложности 5 различных структур FORMATETC.
Вот список FORMATETC.cfFormat
и FORMATETC.tymed
членов отдельных структур:
- cfFormat = 0xc0a5, tymed = 0x1
- cfFormat = 0xc418, tymed = 0x1
- cfFormat = 0xc410, tymed = 0x1
- cfFormat = 0xc0fd, tymed = 0x4
- cfFormat = 0xc0fc, tymed = 0x1
Может кто-нибудь сказать мне, если один из них указывает на библиотеку оболочки, и если да, то как я мог бы, например, определить имя синтаксического анализа этой библиотеки? Возможно, эти значения в cfFormat задокументированы где-то?
С уважением,
humbagumba