Как узнать DiskSpace?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Zhenya_09
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 30.08.2003 (Сб) 14:07

Как узнать DiskSpace?

Сообщение Zhenya_09 » 30.08.2003 (Сб) 14:15

Как узнать DiskSpace c Private Declare Function GetDiskFreeSpace?

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Re: Как узнать DiskSpace?

Сообщение Vovik » 30.08.2003 (Сб) 17:00

Zhenya_09 писал(а):Как узнать DiskSpace c Private Declare Function GetDiskFreeSpace?

хм..А зачем тебе через API? В VB есть класс для работы с диском. :wink:

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 30.08.2003 (Сб) 18:11

API-Guide писал(а):Declarations:

Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long

Parameters:

· lpRootPathName 'Диск/Папка (если не указана, то берётся текущая директория)
Points to a null-terminated string that specifies the root directory of the disk to return information about. If lpRootPathName is NULL, the function uses the root of the current directory.

· lpSectorsPerCluster 'Кол-во секторов в кластере
Points to a variable for the number of sectors per cluster.

· lpBytesPerSector 'Кол-во байт в секторе
Points to a variable for the number of bytes per sector.

· lpNumberOfFreeClusters 'Кол-во свободных кластеров
Points to a variable for the total number of free clusters on the disk.

· lpTotalNumberOfClusters 'Всего кластеров
Points to a variable for the total number of clusters on the disk.



Код: Выделить всё
Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long

'Пример оттуда же

Private Sub Form_Load()
    'KPD-Team 1998
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net

    Dim Sectors as Long,Bytes as Long,FreeC as Long, TotalC as Long,Total as Long,Freeb as Long
    'Retrieve information about the C:\
    GetDiskFreeSpace "C:", Sectors, Bytes, Freec, Totalc
    'Set graphic mode to persistent
    Me.AutoRedraw = True
    'Print the information to the form
    Me.Print " Path: C:"
    Me.Print " Sectors per Cluster:" + Str$(Sectors)
    Me.Print " Bytes per sector:" + Str$(Bytes)
    Me.Print " Number Of Free Clusters:" + Str$(Freec)
    Me.Print " Total Number Of Clusters:" + Str$(Totalc)
    Total = Totalc& * Sectors& * rBytes&   'Всего байт (ЗДЕСЬ ПОЧТИ ВСЕГДА ПЕРЕПОЛНЕНИЕ)
    Me.Print " Total number of bytes in path:" + Str$(Total)
    Freeb = Freec& * Sectosr& * Bytes&   'Свободных байт (ЗДЕСЬ ПОЧТИ ВСЕГДА ПЕРЕПОЛНЕНИЕ)
    Me.Print " Free bytes:" + Str$(Freeb)
End Sub
Нет меня больше


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 14

    TopList