Вывести в Listbox сколько занято и сколько свободно памяти на жёстком диске - VB

Формулировка задачи:

ещё и номер его, но главное память


textual

Код к задаче: «Вывести в Listbox сколько занято и сколько свободно памяти на жёстком диске - VB»

Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As Long
Private Declare Function StrFormatByteSize64 Lib "SHLWAPI.DLL" Alias "StrFormatByteSize64A" (ByVal dw As Currency, ByVal pszBuf As String, cchBuf As Long) As Long
 
Dim bbfreeUser As Currency
Dim bbtotal As Currency
Dim bbfree As Currency
 
Private Sub Command1_Click()
Call GetDiskFreeSpaceEx("C:", bbfreeUser, bbtotal, bbfree)
' Ёмкость диска (Байт)
bbtotal = bbtotal * 10000
 
' Свободного места на диске
bbfree = bbfree * 10000
 
' Свободного места на диске для текущего пользователя
bbfreeUser = bbfreeUser * 10000
 
' Для более наглядного отображения полученных данных
' (Например: 120 ГБ вместо 128849018880 Байт)
' воспользуемся функцией StrFormatByteSize64 (в FormatByteSize)
Print "Ёмкость: " & vbTab & FormatByteSize(bbtotal)
Print "Свободно: " & vbTab & FormatByteSize(bbfree)
Print "Свободно пользователю: " & vbTab & FormatByteSize(bbfreeUser)
End Sub
 
Private Function FormatByteSize(Bytes As Currency) As String
Dim strBuff As String * 256
nRet = StrFormatByteSize64(Bytes / 10000, strBuff, 255)
FormatByteSize = Left(strBuff, InStr(1, strBuff, Chr$(0)) - 1)
End Function
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

10   голосов, оценка 3.900 из 5

Источник
Похожие ответы