Сегодняшняя дилемма состоит в том, что я не могу на всю жизнь понять простой способ записать данные (размер, дату) файла в список. Мне удалось создать список, который обновляется всякий раз, когда вносятся изменения с использованием FileSystemWatcher, отличная рекомендация от другого пользователя. Теперь мне нужно знать, каков размер этих файлов и когда они были созданы / изменены.
Заранее спасибо.
public partial class Form1 : Form
{
public static string serviceName = "Spooler";
public static string directoryLocation = "C:/Windows/System32/spool/PRINTERS/";
public static int timeoutMilliseconds;
FileSystemWatcher watcher;
public Form1()
{
//listBox1.
InitializeComponent();
RefreshQueue();
watch();
}
private void watch()
{
watcher = new FileSystemWatcher();
watcher.Path = directoryLocation;
watcher.NotifyFilter = NotifyFilters.LastWrite & NotifyFilters.LastAccess & NotifyFilters.FileName & NotifyFilters.DirectoryName;
watcher.Changed += OnChanged;
watcher.Created += OnChanged;
watcher.Deleted += OnChanged;
watcher.Renamed += OnChanged;
watcher.EnableRaisingEvents = true;
}
private void OnChanged(object source, FileSystemEventArgs e)
{
RefreshQueue();
}
public void PrintQueue()
{
listBox1.Items.Clear();
DirectoryInfo di = new DirectoryInfo(directoryLocation);
foreach (FileInfo fi in di.GetFiles().OrderByDescending(d => d.LastWriteTime))
{
listBox1.Items.Add(directoryLocation + fi);
}
}
public void RefreshQueue()
{
PrintQueue();
label1.Text = listBox1.Items.Count.ToString();
}