[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct SHQUERYRBINFO
{
public int cbSize;
public long i64Size;
public long i64NumItems;
}
using System;
using System.Runtime.InteropServices;
public class Class1
{
[DllImport("shell32.dll")] public static extern int SHQueryRecycleBin(string pszRootPath, ref SHQUERYRBINFO pSHQueryRBInfo);
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct SHQUERYRBINFO
{
public int cbSize;
public long i64Size;
public long i64NumItems;
}
[STAThread]
static void Main(string[] args)
{
SHQUERYRBINFO shrb = new SHQUERYRBINFO();
shrb.cbSize = Marshal.SizeOf(typeof(SHQUERYRBINFO));
SHQueryRecycleBin(String.Empty,ref shrb);
Console.WriteLine("Recycle bin number: " + shrb.i64NumItems.ToString());
Console.WriteLine("Recylce bin size: " + shrb.i64Size.ToString());
}
}