gpt4 book ai didi

c++ - 将 Zip 文件夹中的文件拖放到我的窗口中

转载 作者:太空狗 更新时间:2023-10-29 21:07:02 27 4
gpt4 key购买 nike

当 Zip 存档的内容可以从 Windows 资源管理器的 Zip 文件夹拖放到我的窗口时,我正在尝试实现一项功能。我实现了 IDropTarget 的所有必要方法,当我从 Windows 资源管理器中拖放常规文件时一切正常。

当我尝试从 Zip 文件夹中拖入文件时,以下方法会出现此问题:

HRESULT DragEnter(IDataObject* pDataObject, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect)
{
static FORMATETC fmtetc_file = {CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};
HRESULT hr = pDataObject->QueryGetData(&fmtetc_file);
if(hr == S_OK)
{
//Format supported
}

...
}

我从 QueryGetData() 返回 S_FALSE。

有谁知道我错过了什么吗?

最佳答案

我无法想象 Explorer 的 zip 文件处理程序会实现 CF_HDROP,因为这会要求它在开始拖动之前提取文件。我打赌它使用 CFSTR_FILEDESCRIPTOR and CFSTR_FILECONTENTS .

关于c++ - 将 Zip 文件夹中的文件拖放到我的窗口中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5990019/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com