using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices; //dodane

namespace GetDiskFreeSpaceEx
{
    public partial class Form1 : Form
    {
        [DllImport("kernel32.dll")]
        public static extern bool GetDiskFreeSpaceEx(string katalog, ref long
          wolneMiejsceDlaUzytkownika, ref long rozmiarDysku, ref long
          wolneMiejsceNaDysku);

        public Form1()
        {
            InitializeComponent();

            long wolneMiejsceDlaUzytkownika = 0;
            long rozmiarDysku = 0;
            long wolneMiejsceNaDysku = 0;
            if (GetDiskFreeSpaceEx("C:\\",
                                   ref wolneMiejsceDlaUzytkownika,
                                   ref rozmiarDysku,
                                   ref wolneMiejsceNaDysku))
            {
                progressBar1.Maximum = 100;
                progressBar1.Value = (int)(100 * (rozmiarDysku - wolneMiejsceNaDysku) / (double)rozmiarDysku);
            }
            else
            {
                MessageBox.Show("Nie udało się odczytać ilości wolnego miejsca na dysku");
            }

        }
    }
}