Declare Function GlobalMemoryStatusEx Lib "kernel32.dll" (lpBuffer As MEMORYSTATUSEX) As Long
GlobalMemoryStatusEx получает информацию о текущей памяти компьютера (физической и виртуальной)
' Покажем доступную память компьютера ' Используем тип Currency, чтобы иметь возможность ' работать с 64-битными значениями Dim ms As MEMORYSTATUSEX Dim temp As Currency ' для хранения 64-битного значения Dim retval As Long ' возвращаемое значение Dim mult As Long ' конвертор в стандартный вид ' Конвертор необходим для приведения полученного результата в кб ' Сдвигаем десятичную точку и переводим в килобайты mult = 10000 / 1024 ' Инициализируем структуру ms.dwLength = Len(ms)' Получаем информацию о памяти retval = GlobalMemoryStatusEx(ms) ' Показываем общую физическую память в кб Debug.Print "Общая физическая память:"; CopyMemory temp, ms.ullTotalPhys, Len(temp) Debug.Print temp * mult; "кб" ' Показываем доступную физическую память в кб Debug.Print "Доступная физическая память:"; CopyMemory temp, ms.ullAvailPhys, Len(temp) Debug.Print temp * mult; "кб"