Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
6 / 6 / 0
Регистрация: 23.12.2015
Сообщений: 227

Узнать место на жестких дисках

18.01.2019, 06:39. Показов 2211. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, столкнулся с проблемой, нужно узнать сколько места осталось на жестких дисках, НО не учитывать сетевые диски или выводить уведомление если хотя бы на 1 из дисков заканчивалось место.
код которым пользовался =>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace DriveT
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            double free = 0;
            double a = 0;
            string Vol = "";
 
            DriveInfo[] allDrives = DriveInfo.GetDrives();
 
 
            //Адрес SMTP-сервера
            String smtpHost = "mailv.ru";
            //Порт SMTP-сервера
            int smtpPort = 25;
            //Логин
            String smtpUserName = "NameServer@rav.ru";
            //Пароль
            String smtpUserPass = "";
            ///Создание подключения
            SmtpClient client = new SmtpClient(smtpHost, smtpPort);
            client.Credentials = new NetworkCredential(smtpUserName, smtpUserPass);
            //Адрес для поля "От"
            String msgFrom = "disk";
            //Адрес для поля "Кому" (адрес получателя)
            String msgTo = "a@rav.ru";
           
            //Тема письма
            String msgSubject = "Проверка Дисков";
           
 
            double pool = 15000;
 
            
            foreach (DriveInfo MyDriveInfo in allDrives)
            {
                if (MyDriveInfo.IsReady == true)
                {
                   
                    free = MyDriveInfo.AvailableFreeSpace;
                    a = (free /( 1024 * 1024));
                    Vol += MyDriveInfo.Name + ": " + a.ToString("#.##") + "" + "MB" + Environment.NewLine;
                    
                }
                                
            }
            
            String msgBody = Vol;
            String msq2Body = "Заканчивается свободное место :" + "\r\n\r" + Vol;
 
            //текст письма
            if (a < pool)
            {
                //Создание сообщения
                MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msq2Body);
 
                try
                {
                    //Отсылаем сообщение
                    client.Send(message);
                }
                catch (SmtpException ex)
                {
                    //В случае ошибки при отсылке сообщения можем увидеть, в чем проблема
                    MessageBox.Show("error");
                }
            }
 
            else
            {
                //Создание сообщения
                MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody);
 
               try
                {
                    //Отсылаем сообщение
                    client.Send(message);
                }
                catch (SmtpException ex)
                {
                    //В случае ошибки при отсылке сообщения можем увидеть, в чем проблема
                    MessageBox.Show("error");
                }
 
            }
 
 
 
 
 
            Close();
        }
    
    }
}
Заранее спасибо)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.01.2019, 06:39
Ответы с готовыми решениями:

Получить информацию о всех жестких дисках в системе
Получить информацию о всех жестких дисках в системе. Используемая функция WinApi -GetDriveType

Мифы о жестких дисках
Здравствуйте форумчане. Я хочу спрсить знающих людей о некоторых моментах, касающихся жестких дисков. 1) Есть миф, что если жесткий...

Одна ОС на двух жестких дисках
Здравствуйте. Приобрел ноутбук с двумя жесткими дисками. При установке системы разбил наразмеченное пространство на 4 диска. И далее...

3
19 / 13 / 8
Регистрация: 09.01.2019
Сообщений: 72
18.01.2019, 08:28
Чтобы исключить сетевые диски, используйте DriveType
1
6 / 6 / 0
Регистрация: 23.12.2015
Сообщений: 227
18.01.2019, 08:31  [ТС]
Цитата Сообщение от csharp08 Посмотреть сообщение
Чтобы исключить сетевые диски, используйте DriveType
Можно пример ?)
0
19 / 13 / 8
Регистрация: 09.01.2019
Сообщений: 72
18.01.2019, 08:38
Лучший ответ Сообщение было отмечено maksonech как решение

Решение

C#
1
2
3
4
if(MyDriveInfo.DriveType == DriveType.Network)
{
//Сетевой диск
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.01.2019, 08:38
Помогаю со студенческими работами здесь

2 операционки на двух жёстких дисках
Доброго дня, возможно поставить 10-ку на диск с gpt разметкой, при том что стоит другой диск с с7-кой с мбр?

Востановление информации на жестких дисках.
Всем привет! Рассказываю по порядку: Был компьютер с двумя жёсткими дисками 1-ый MAXTOR DiamondMax Plus 8 40GB и SEAGATE Barracuda 7200.9...

2 винды на разных жестких дисках
Здравствуйте. Вообщем-то я купил второй жесткий диск, установил его в ПК и поставил винду, в этот момент был подключен и первый. Теперь...

USB устройство отображается в жестких дисках
Купил storejet transcend USB device . После некоторого использования стал отображаться в жестких дисках . Не могу отформатировать в fat32...

Две системы на двух жестких дисках
Как оставить одну ос и что бы в конце концов осталось два тома. Один для системы, второй для всего остального? Было три, один удалил. Моя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru