G
GrayCat78
Здравствуйте, уважаемые мастера Delphi.
Есть такая проблема:
Нужно определить размер и свободное место в файле подкачки Windows в WinXP SP2.
В нескольких местах в интернете я нашёл один и тот же код типа этого:
var
Status : TMemoryStatus;
begin
Status.dwLength := sizeof( TMemoryStatus );
GlobalMemoryStatus( Status );
{ Status.dwTotalPageFile: Объём страничного файла в байтах. }
{ Status.dwAvailPageFile: Свободного места в страничном файле. }
label11.Caption := ' Всего: ' + IntToStr(Status.dwTotalPageFile div 1024417) + ' Мб';
label12.Caption := ' Свободно: ' + IntToStr(Status.dwAvailPageFile div 1024417) + ' Мб';
Однако, он работает неверно, то есть показывает не размер и свободное место в файле подкачки Windows, а размер физической памяти + размер файла подкачки, причём, если отнять от получаемого этим кодом размера размер физической памяти, то полученный результат будет отличаться от фактического размера файла подкачки более чем на 100 Мб.
Нет ли другого способа получить вышеуказанные данные?
Есть такая проблема:
Нужно определить размер и свободное место в файле подкачки Windows в WinXP SP2.
В нескольких местах в интернете я нашёл один и тот же код типа этого:
var
Status : TMemoryStatus;
begin
Status.dwLength := sizeof( TMemoryStatus );
GlobalMemoryStatus( Status );
{ Status.dwTotalPageFile: Объём страничного файла в байтах. }
{ Status.dwAvailPageFile: Свободного места в страничном файле. }
label11.Caption := ' Всего: ' + IntToStr(Status.dwTotalPageFile div 1024417) + ' Мб';
label12.Caption := ' Свободно: ' + IntToStr(Status.dwAvailPageFile div 1024417) + ' Мб';
Однако, он работает неверно, то есть показывает не размер и свободное место в файле подкачки Windows, а размер физической памяти + размер файла подкачки, причём, если отнять от получаемого этим кодом размера размер физической памяти, то полученный результат будет отличаться от фактического размера файла подкачки более чем на 100 Мб.
Нет ли другого способа получить вышеуказанные данные?