4

如果我想以编程方式清除 Windows 下的回收站,如何实现呢?

IFileOperation帮助吗?

4

2 回答 2

5

您可以使用库中的SHEmptyRecycleBin()函数shell32.dll来实现这一点。

于 2013-11-14T04:19:45.470 回答
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
        }
    }
}
于 2017-02-16T13:45:47.807 回答