如何编程清空Windows下的回收站?

4

如果我想编程清空Windows下的回收站,该如何实现?

IFileOperation有帮助吗?

2个回答

5
你可以使用shell32.dll库中的SHEmptyRecycleBin()函数来实现此操作。

@Sughakar 当你的回答包含一个链接指向同样的问题时,最好将其投票关闭为重复。如果你无法投票,则留下一条评论说明该问题是重复的。 - David Heffernan
@DavidHeffernan:当然,谢谢你的意见。我会跟进的。 - Sudhakar Tillapudi

2

完整示例:

using System;
using System.Runtime.InteropServices;

class Program
{
    enum RecycleFlags : uint
    {
        SHERB_NOCONFIRMATION = 0x00000001,
        SHERB_NOPROGRESSUI = 0x00000002,
        SHERB_NOSOUND = 0x00000004
    }

    [DllImport("Shell32.dll", CharSet = CharSet.Unicode)]
    static extern uint SHEmptyRecycleBin(IntPtr hwnd, string pszRootPath, RecycleFlags dwFlags);

    static void Main(string[] args)
    {
        uint result = SHEmptyRecycleBin(IntPtr.Zero, null, 0);
        if (result == 0)
        {
            //OK
        }
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接