Функциями 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д