Zhenya_09 писал(а):Как узнать DiskSpace c Private Declare Function GetDiskFreeSpace?
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
Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 14