Вывести в Listbox сколько занято и сколько свободно памяти на жёстком диске - VB
Формулировка задачи:
ещё и номер его, но главное память
Решение задачи: «Вывести в Listbox сколько занято и сколько свободно памяти на жёстком диске»
textual
Листинг программы
- 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д