Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Loya
40 / 36 / 14
Регистрация: 06.12.2015
Сообщений: 209
1

Как программно получить размер сетевого диска?

14.12.2016, 17:50. Просмотров 1012. Ответов 4
Метки нет (Все метки)

Всем доброго времени суток.

Необходимо мониторить размер свободного места на сетевом диске. Есть IO.DriveInfo.TotalFreeSpace но с помощью него можно получить информацию о дисках только на локальном компьютере. А как подключиться к компьютеру в локальной сети (например, имеющему адрес 192.168.x.x)?

Заранее всем спасибо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2016, 17:50
Ответы с готовыми решениями:

Как программно изменять настройки сетевого подключения
как программно изменять настройки сетевого подключения?

Как получить значение из состояния сетевого адаптера
Как получить значение из состояния сетевого адаптера из vb.net OS Win10

Как программно определить размер выбранного пользователем файла?
Собственно нужен код, который бы отображал в лейбле размер выбранного...

Подключение сетевого диска
Возможно ли подключить сетевой диск?. Знаю можно написать батник с net use, и...

Подключение/отключение сетевого диска с другого компьютера
Два компьютера находятся в одной сети...необходимо при нажатии на кнопку на...

4
Orlangur1991
1192 / 1081 / 260
Регистрация: 28.11.2014
Сообщений: 1,698
14.12.2016, 17:58 2
вроде как размер можно узнать только если диск монтирован в системе
0
Loya
40 / 36 / 14
Регистрация: 06.12.2015
Сообщений: 209
14.12.2016, 18:16  [ТС] 3
Т.е. из сети никак что-ли?
0
Orlangur1991
1192 / 1081 / 260
Регистрация: 28.11.2014
Сообщений: 1,698
14.12.2016, 19:02 4
Лучший ответ Сообщение было отмечено Loya как решение

Решение

Для UNC путей подойдет такое решение
vb.net
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
Imports System.Runtime.InteropServices
 
Public Class Form1
    <DllImport("kernel32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    Private Shared Function GetDiskFreeSpaceEx(lpDirectoryName As String, ByRef lpFreeBytesAvailable As ULong, ByRef lpTotalNumberOfBytes As ULong, ByRef lpTotalNumberOfFreeBytes As ULong) As <MarshalAs(UnmanagedType.Bool)> Boolean
    End Function
 
    Public Shared Function GetDriveSpace(folderName As String, ByRef freespace As ULong, ByRef totalspace As ULong) As Boolean
 
        Dim free As ULong = 0
        Dim total As ULong = 0
        Dim dummy2 As ULong = 0
 
        Try
 
            If Not String.IsNullOrEmpty(folderName) Then
 
                If Not folderName.EndsWith("") Then
                    folderName += ""
                End If
 
                If GetDiskFreeSpaceEx(folderName, free, total, dummy2) Then
                    freespace = free
                    totalspace = total
                    Return True
                End If
 
            End If
 
        Catch
        End Try
 
        Return False
 
    End Function
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim totalspace As ULong = 0
        Dim freespace As ULong = 0
        If GetDriveSpace("\\fileserver\public", freespace, totalspace) Then
            'freespace - свободное пространство
            ' totalspace  - всего
           TextBox1.Text = Math.Round(freespace / 1024 / 1024, 2) & " Mb"
            TextBox2.Text = Math.Round(totalspace / 1024 / 1024, 2) & " Mb"
        Else
            '
        End If
    End Sub
End Class
3
Loya
40 / 36 / 14
Регистрация: 06.12.2015
Сообщений: 209
15.12.2016, 10:15  [ТС] 5
Orlangur1991, огромнейшее спасибо!!! Очень выручили! Это то, что надо!
0
15.12.2016, 10:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2016, 10:15

Как получить список директорий и файлов (не расшаренных) сетевого компа при условии Full Access?
Как получить список директорий (файлов) (не расшаренных) сетевого компа (при...

Проблема с security policy при запуске с сетевого диска
есть некоторое приложение написанное на .net(которое работает с БД), я его...

Как программно получить список стека вызовов?
Выполняется функция. Я хочу получить список вызовов. Стёк вызовов этой функции....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru