Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2017, 12:20   #1
andrei_belko
 
Регистрация: 13.11.2013
Сообщений: 7
По умолчанию Используя функции GetSystemTime и GetDiskFreeSpace определить текущий месяц и количество байт в секторе на диске

нужна помощь с реализацией второй апи функции 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)
        {
 
        }
    }
}
andrei_belko вне форума Ответить с цитированием
Старый 19.02.2017, 13:39   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от andrei_belko Посмотреть сообщение
а по второй даже не могу найти инфы по её синтаксису
А искали?
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
http://www.pinvoke.net/default.aspx/...tdiskfreespace
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.02.2017, 14:45   #3
andrei_belko
 
Регистрация: 13.11.2013
Сообщений: 7
По умолчанию

первую ссылку находил но понятия не имею как в сишарпе это оформить
andrei_belko вне форума Ответить с цитированием
Старый 19.02.2017, 14:59   #4
andrei_belko
 
Регистрация: 13.11.2013
Сообщений: 7
По умолчанию

огромное Вам спасибо, благодоря инфе из 2 ссылки я смог нормально написать вторую фугкцию. Спасибо ещё раз)
andrei_belko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести текущий месяц в ячейку SolovejK Microsoft Office Excel 5 07.08.2016 11:44
SQL выблорка за текущий месяц MAZADA БД в Delphi 1 28.07.2011 19:49
Текущий месяц в текстовом формате segail Microsoft Office Excel 10 05.12.2010 21:20
Выполнение кода на текущий или прошедший месяц. segail Microsoft Office Excel 8 14.02.2010 00:35
Как определить количество занятых секторов на диске в делфи? buka_14 Помощь студентам 0 16.04.2009 16:42