Функция GlobalMemoryStatusEx

Declare Function GlobalMemoryStatusEx Lib "kernel32.dll" (lpBuffer As MEMORYSTATUSEX) As Long

GlobalMemoryStatusEx получает информацию о текущей памяти компьютера (физической и виртуальной)

lpBuffer
Структура MEMORYSTATUSEX, хранящая информацию о памяти компьютера


Пример
' Покажем доступную память компьютера
' Используем тип 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; "кб"

Смотри также

GlobalMemoryStatus

Категория

Память