![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать сколько памяти занято и сколько свободно???Очень надо [D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]
Dor © (2003-01-08 19:37:00)Как узнать сколько памяти занято и сколько свободно???Очень надо
пожалуйста подскажите
Armen (2003-01-11 17:21:00) [1]>To Orlov
GlobalMemoryStatus работает с DWORD, а если памяти больше 2G ?
Надо так:
type
TMemoryStatusEx = record
dwLength: DWORD;
dwMemoryLoad: DWORD;
dwTotalPhys: int64;
dwAvailPhys: int64;
dwTotalPageFile: int64;
dwAvailPageFile: int64;
dwTotalVirtual: int64;
dwAvailVirtual: int64;
dwAvailExVirtual: int64;
end;
procedure GlobalMemoryStatusEx(var lpBuffer: TMemoryStatusEx); stdcall;
impementation
procedure GlobalMemoryStatusEx; external kernel32 name "GlobalMemoryStatusEx";
....
...
end.
Armen (2003-01-11 17:21:00) [2]>To Orlov
GlobalMemoryStatus работает с DWORD, а если памяти больше 2G ?
Надо так:
type
TMemoryStatusEx = record
dwLength: DWORD;
dwMemoryLoad: DWORD;
dwTotalPhys: int64;
dwAvailPhys: int64;
dwTotalPageFile: int64;
dwAvailPageFile: int64;
dwTotalVirtual: int64;
dwAvailVirtual: int64;
dwAvailExVirtual: int64;
end;
procedure GlobalMemoryStatusEx(var lpBuffer: TMemoryStatusEx); stdcall;
impementation
procedure GlobalMemoryStatusEx; external kernel32 name "GlobalMemoryStatusEx";
....
...
end.
Armen (2003-01-11 17:20:00) [3]>To Orlov
GlobalMemoryStatus работает с DWORD, а если памяти больше 2G ?
Надо так:
type
TMemoryStatusEx = record
dwLength: DWORD;
dwMemoryLoad: DWORD;
dwTotalPhys: int64;
dwAvailPhys: int64;
dwTotalPageFile: int64;
dwAvailPageFile: int64;
dwTotalVirtual: int64;
dwAvailVirtual: int64;
dwAvailExVirtual: int64;
end;
procedure GlobalMemoryStatusEx(var lpBuffer: TMemoryStatusEx); stdcall;
impementation
procedure GlobalMemoryStatusEx; external kernel32 name "GlobalMemoryStatusEx";
....
...
end.
TTCustomDelphiMaster (2003-01-08 20:38:00) [4]смотри в FAQ и кладовке
orlov (2003-01-08 19:43:00) [5]void __fastcall TForm1::Memory1Click(TObject *Sender)
{
char buf[16];
MEMORYSTATUS ms;
ms.dwLength = sizeof(MEMORYSTATUS);
GlobalMemoryStatus(&ms);
wsprintf (buf, "%d", ms.dwTotalPhys);
MemoryForm->TotalPhysicalEdit->Text = buf;
wsprintf (buf, "%d", ms.dwAvailPhys);
MemoryForm->FreePhysicalEdit->Text = buf;
wsprintf (buf, "%d", ms.dwTotalPageFile);
MemoryForm->TotalPagingEdit->Text = buf;
wsprintf (buf, "%d", ms.dwAvailPageFile);
MemoryForm->FreePagingEdit->Text = buf;
wsprintf (buf, "%d", ms.dwTotalVirtual);
MemoryForm->TotalVirtualEdit->Text = buf;
wsprintf (buf, "%d", ms.dwAvailVirtual);
MemoryForm->FreeVirtualEdit->Text = buf;
MemoryForm->ShowModal();
}