Читайте также:
|
|
Для получения детальной информации о состоянии памяти компьютера предназначена функция API GlobalMemoryStatus. В функцию передается переменная типа TMemoryStatus, которая представляет собой запись, тип которой определен следующим образом:
type
TMemoryStatus = record
dwLength: DWORD;
dwMemoryLoad: DWORD;
dwTotalPhys: DWORD;
dwAvailPhys: DWORD;
dwTotalPageFile: DWORD;
dwAvailPageFile: DWORD;
dwTotalVirtual: DWORD;
dwAvailVirtual: DWORD;
end;
Поля записи имеют следующий смысл:
Поле | Смысл |
dwLength | Длина записи. Поле необходимо инициализировать функцией SizeOf до обращения к функции GlobalMemoryStatus |
dwMemoryLoad | Количество использованной памяти в процентах |
dwTotalPhys | Число байт установленной на компьютере ОЗУ (физической памяти) |
dwAvailPhys | Свободная физическая память в байтах |
dwTotalPageFile | Общий объем в байтах, который могут сохранить файлы/файл подкачки (вообще говоря, не совпадает с размером последних) |
dwAvailPageFile | Доступный объем из последней величины в байтах |
dwTotalVirtual | Общее число байтов виртуальной памяти, используемой в вызывающем процессе |
dwAvailVirtual | Объем виртуальной памяти, доступной для вызывающего процесса |
Можно использовать следующий код получения информации о наличной памяти ОЗУ:
function GetRAM: Cardinal;
var
MS: TMemoryStatus;
begin
MS.dwLength:=SizeOf(MS);
GlobalMemoryStatus(MS);
Result:=MS.dwTotalPhys;
end;
Пользовательская функция GetRAM возвращает общее число байт физической памяти, установленной на компьютере. Эту информацию она читает из поля dwTotalPhys записи MS, имеющей тип TMemoryStatus. Перед этим вызывается API-функция GlobalMemoryStatus с параметром MS. Обратите внимание, что перед вызовом GlobalMemoryStatus инициализируется поле dwLength функцией SizeOf.
По аналогии с примером можно получить информацию об остальных параметрах памяти, для этого надо заменить строку Result:=MS.dwTotalPhys на одну из перечисленных ниже:
Result:=MS.dwMemoryLoad;
Result:=MS.dwAvailPhys;
Result:=MS.dwTotalPageFile;
Result:=MS.dwAvailPageFile;
Result:=MS.dwTotalVirtual;
Result:=MS.dwAvailVirtual;
Дата добавления: 2015-07-20; просмотров: 34 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Введение. | | | ОДЕССА 2009 |