【问题标题】:win32api restore file from recyclebin using SHFileStructwin32api 使用 SHFileopStruct 从回收站恢复文件
【发布时间】:2013-04-16 02:51:13
【问题描述】:

我正在使用 win 32 api 构建探索是同一个窗口。 我可以删除文件到回收站。现在,我想撤消被删除到回收站的文件。 我现在在做什么? 请帮帮我。

【问题讨论】:

  • 请将其中一个答案标记为已接受。

标签: winapi restore undo delete-file recycle-bin


【解决方案1】:

您必须在回收站文件夹中检索所需文件的IContextMenu接口,然后您可以使用IContextMenu::InvokeCommand()方法调用文件上的动词。有关详细信息,请参阅 MSDN:

Invoking commands on items in the Recycle Bin

【讨论】:

    【解决方案2】:

    CodeProject 上的这个article 似乎就是您要找的东西。

    【讨论】:

    • 谢谢,但我想知道在刚刚删除详细信息的文件夹中单击撤消时窗口的功能撤消
    • @MinhHuongNguyen 我认为不可能以编程方式调用资源管理器“撤消”命令。
    • @kennyzx:是的,这是可能的。您必须在回收站文件夹中检索所需文件的IContextMenu 接口,然后您可以使用IContextMenu.InvokeCommand() 方法调用文件上的动词。有关详细信息,请参阅 MSDN:Invoking commands on items in the Recycle Bin
    • @RemyLebeau:我认为目标是实现一个类似于 Explorer 的程序,用户可以删除和撤消删除,就像使用 Explorer 的 Ctrl+Z 或“撤消删除”上下文菜单可以完成的操作一样。这必须与回收站交互,并且没有直接的方法来调用此上下文菜单命令。
    • @kennyzx:是的,有一种方法可以直接调用菜单命令,我指导您阅读的博客文章准确地解释了如何做到这一点。您必须首先在回收站中检索所需文件的 PIDL,然后从回收站中检索代表这些 PIDL 的IContextMenu,最后调用IContextMenu::InvokeCommand() 执行这些 PIDL(s) 上的动词,例如 "undelete" 将文件恢复到其原始位置。您是否尝试过文章中的代码?
    猜你喜欢
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    相关资源
    最近更新 更多