Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.141.31.240] |
|
Сообщ.
#1
,
|
|
|
Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, _ lpFreeBytesAvailableToCaller As LARGE_INTEGER, lpTotalNumberOfBytes As LARGE_INTEGER, lpTotalNumberOfFreeBytes As LARGE_INTEGER) As Long Private Type LARGE_INTEGER lowpart As Long highpart As Long End Type Dim lpFreeBytesAvailableToCaller As LARGE_INTEGER, lpTotalNumberOfBytes As LARGE_INTEGER, lpTotalNumberOfFreeBytes As LARGE_INTEGER Private Sub Command1_Click() Call GetDiskFreeSpaceEx("c:\", lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes) Me.Caption = "Всего - " + CStr(ConvToDouble(lpTotalNumberOfBytes)) + ", Свободно - " + CStr(ConvToDouble(lpTotalNumberOfFreeBytes)) End Sub Private Function ConvToDouble(n As LARGE_INTEGER) As Double If n.lowpart >= 0 Then ConvToDouble = n.lowpart Else ConvToDouble = 4294967296# * (n.highpart + 1) + n.lowpart End If End Function |