如果我想以编程方式清除Windows下的回收站,如何实现?
IFileOperation
有帮助吗?
答案 0 :(得分:4)
您可以使用SHEmptyRecycleBin()
库中的shell32.dll
函数来实现此目的。
答案 1 :(得分:1)
完整示例:
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
}
}
}