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