Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > GetDiscFreeSpace WinApi


Автор: N1ko 24.10.2009, 01:25
Я извиняюсь, уже разобрался и ошибку исправил. 
Код

using System.Runtime.InteropServices;

namespace GetFreeDisk
{
    public partial class Form1 : Form
    {
        [DllImport("shell32.dll")]
        static extern bool SHGetDiskFreeSpace(string pszVolume, out ulong pqwFreeCaller, out ulong pqwTot, out ulong pqwFree);
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

            ulong num1;
            ulong num2;
            ulong num3;
            bool rr =  SHGetDiskFreeSpace("C:\\",out num1,out num2, out num3);
        }
    }
}





Автор: BinaryShadow 2.11.2009, 13:48
В сборке System.IO есть класс DriveInfo у которой есть параметр AvailableFreeSpace, при инициализации оного в параметре передается строка с именем диска, на выходе получаем в параметре кол-во свободных байт.
Написал это потому, что для .NET это более правильное использование.

Автор: N1ko 2.11.2009, 14:42
Меня интересовал именно подход со стороны WinApi, поскольку сейчас упорно с ним борюсь и пытаюсь разобраться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)