2

这是一种从外部看的复杂查询。我想获得有关在 Windows 资源管理器中执行的任何拖放操作的通知,其中确切数量的文件从源文件夹拖动到目标文件夹。

我已经在我的应用程序中尝试了 setwindowshookex,但拖放事件没有出现在回调函数中,尽管我正在调整大小、forgroundwindows、项目选择等事件。

不知道出了什么问题,在窗口中挂钩拖放事件似乎是不可能的。

有没有人可以帮助解决这个问题。

谢谢艾尔

4

1 回答 1

1

Windows 资源管理器中的拖放操作不使用窗口消息,它们通过函数使用IDropSourceIDropTargetCOM 接口。DoDragDrop()你不能用SetWindowsHookEx(). 您可能需要将一些代码写入 DLL 并将其直接注入到 Windows 资源管理器中,以便它可以DoDragDrop()直接挂钩,例如绕道而行,因此对它的任何调用都将首先通过您的挂钩代码。这样您就可以访问传递给它的 COM 接口,并检测拖放是成功还是取消。

于 2013-07-11T18:16:11.017 回答