Winapi ::GetClipboardData of CF_HDROP返回DROPFILE而不是STGMEDIUM?
CF_HDROP的文件中说: 数据由一个STGMEDIUM结构组成,该结构包含一个全局 内存对象。结构的hGlobal成员指向DROPFILES 结构作为其全球成员 但实际上,当您使用Winapi ::GetClipboardData of CF_HDROP返回DROPFILE而不是STGMEDIUM?,winapi,clipboard,Winapi,Clipboard,CF_HDROP的文件中说: 数据由一个STGMEDIUM结构组成,该结构包含一个全局 内存对象。结构的hGlobal成员指向DROPFILES 结构作为其全球成员 但实际上,当您使用GetClipboardData()时,它会将数据返回到DROPFILES本身。也就是说,您不能通过hGlobal成员访问STGMEDIUM获取数据。为什么呢?怎么了?缺少自动转换的文档/详细信息?还是我读错了什么 typedef struct tagSTGMEDIUM { DWORD
GetClipboardData()
时,它会将数据返回到DROPFILES
本身。也就是说,您不能通过hGlobal
成员访问STGMEDIUM
获取数据。为什么呢?怎么了?缺少自动转换的文档/详细信息?还是我读错了什么
typedef struct tagSTGMEDIUM {
DWORD tymed;
union {
HBITMAP hBitmap;
HMETAFILEPICT hMetaFilePict;
HENHMETAFILE hEnhMetaFile;
HGLOBAL hGlobal;
LPOLESTR lpszFileName;
IStream *pstm;
IStorage *pstg;
} DUMMYUNIONNAME;
IUnknown *pUnkForRelease;
} uSTGMEDIUM;
文档的目标是较低级别的
OleGetClipboard()
API(为您提供一个IDataObject
,然后您可以查询该对象)GetClipboardData()
是一个更高级别的包装器。文档适用于此处。对于CF_HDROP
,API返回“类型HDROP
的句柄,用于标识文件列表。应用程序可以通过将句柄传递给函数来检索有关文件的信息”。