如果可能的话,我希望能够轻松地检查回收站是否为空(不需要导入dll,不需要导入任何内容,也不需要创建整个新类来保存回收站功能等…)
我已经找到了下面的在线代码来清空回收站,所以很自然地怀疑我应该能够扩展它以先检查是否需要清空,或许是通过Shell32.dll中的另一个函数实现。
enum BinFlags : uint
{
SHERB_NOCONFIRMATION = 0x00000001,
SHERB_NOPROGRESSUI = 0x00000002,
SHERB_NOSOUND = 0x00000004
}
[DllImport("Shell32.dll", CharSet = CharSet.Unicode)]
static extern uint SHEmptyRecycleBin(IntPtr hwnd, string rootPath,
BinFlags flags);
/* snip, bunch of code... */
SHEmptyRecycleBin(IntPtr.Zero, null, 0);