Функциями GetSystemTime и GetDiskFreeSpace определить текущий месяц и количество байт в секторе на диске - C#

Узнай цену своей работы

Формулировка задачи:

нужна помощь с реализацией второй апи функции GetDiskFreeSpace. Первую смог составить а по второй даже не могу найти инфы по её синтаксису. Помогите плиз доделать. буду рад если и ссылочку дадите, если такая найдётся, с примером написания этой апи функции в С#.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
 
namespace WindowsFormsApplication1
{
    public struct SYSTEMTIME
    {
        public ushort wYear;
        public ushort wMonth;
        public ushort wDayOfWeek;
        public ushort wDay;
        public ushort wHour;
        public ushort wMinute;
        public ushort wSecond;
        public ushort wMilliseconds;
    }
 
    public struct BPS
     { 
         public ushort wlpRootPathName; //Корневой каталог диска, например "c:" или "a:" 
         public ushort wlpSectorsPerCluster; //Число секторов в кластере 
         public ushort wlpBytesPerSector; //Число байт в секторе 
         public ushort wlpNumberOfFreeClusters; // Число свободных кластеров 
         public ushort wlpTotalNumberOfClusters; //Общее число кластеров 
 
     }
 
    public partial class Form1 : Form
    {
        [DllImport("kernel32.dll")]
        public extern static void GetSystemTime(ref SYSTEMTIME lpSystemTime);
 
        public extern static void GetDiskFreeSpace(ref BPS lpRootPathName,out int lpSectorsPerCluster,
            out int lpBytesPerSector,out int lpNumberOfFreeClusters,out int lpTotalNumberOfClusters);
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void textBox1_TextChanged_1(object sender, EventArgs e)
        {
            ulong size = 256;
            SYSTEMTIME stime = new SYSTEMTIME();
            BPS bps = new BPS(); 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            ulong size = 256;
            SYSTEMTIME stime = new SYSTEMTIME();
            GetSystemTime(ref stime);
             BPS bps = new BPS();
            GetDiskFreeSpace(ref bps);
 
            textBox1.Text = stime.wMonth.ToString() + "  Месяц"+ bps.wlpBytesPerSector.ToString();
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
    }
}

Решение задачи: «Функциями GetSystemTime и GetDiskFreeSpace определить текущий месяц и количество байт в секторе на диске»

textual
Листинг программы
[DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Auto)]
static extern bool GetDiskFreeSpace(string lpRootPathName,
   out uint lpSectorsPerCluster,
   out uint lpBytesPerSector,
   out uint lpNumberOfFreeClusters,
   out uint lpTotalNumberOfClusters);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы