【问题标题】:Drag/drop files between explorer windows on windows 7在 Windows 7 的资源管理器窗口之间拖放文件
【发布时间】:2013-07-11 09:21:01
【问题描述】:

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

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

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

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

谢谢 铝

【问题讨论】:

    标签: winapi hook oledragdrop


    【解决方案1】:

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

    【讨论】:

    • 这是一个真正需要的信息..如果我能得到一个链接或代码 sn-p 在 C# 中进行 dll 注入会不会很好
    • 您好 Remy Lebeau,我尝试注入资源管理器并成功,并且我注入的 dll 一直在使用,直到我不杀死资源管理器窗口。但我无法从注入的 dll 调用任何函数
    猜你喜欢
    • 2012-05-02
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    相关资源
    最近更新 更多