C++ 我怎样才能检测到拖过我窗口的文件

C++ 我怎样才能检测到拖过我窗口的文件,c++,winapi,drag-and-drop,C++,Winapi,Drag And Drop,我已经使用win32 api创建了一个窗口。如何检测文件是否在我的窗口上被拖动(而不是丢弃)?以及如何获取文件名列表。我知道DragAcceptFiles/WM_DROPFILES消息,但它们不注册拖动。当用户退出时,我会收到消息。因此,我无法显示拖动的文件是否可以放置到该位置,或者文件类型是否有效等。。。我用Spy++尝试过,我肯定没有收到任何消息,但是当我检查资源管理器窗口时,我看到它们正在传递自定义消息(WM_USER+210)。 我正在搜索仅适用于winapi的解决方案。要在Raymon

我已经使用win32 api创建了一个窗口。如何检测文件是否在我的窗口上被拖动(而不是丢弃)?以及如何获取文件名列表。我知道DragAcceptFiles/WM_DROPFILES消息,但它们不注册拖动。当用户退出时,我会收到消息。因此,我无法显示拖动的文件是否可以放置到该位置,或者文件类型是否有效等。。。我用Spy++尝试过,我肯定没有收到任何消息,但是当我检查资源管理器窗口时,我看到它们正在传递自定义消息(WM_USER+210)。
我正在搜索仅适用于winapi的解决方案。

要在Raymond Chen的帮助下回答我的问题,
将窗口注册为放置目标

并使用


在陈雷蒙的帮助下回答我的问题,
将窗口注册为放置目标

并使用


使用RegisterDragDrop函数。@Raymond:看起来很有用,我将搜索文件放置、如何获取文件列表等。使用RegisterDragDrop函数。@Raymond:看起来很有用,我将搜索文件放置、如何获取文件列表等。。。