23.09.2007, 18:23
|
Начинающий
|
|
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
|
|
Эх!Даю куски своей лабораторной работы со второго курса!
//Узнаем тип процессора
Код:
function GetProcessorType:integer;
var sysInfo:TSystemInfo;
begin GetSystemInfo(sysInfo);
Result:=sysInfo.dwProcessorType;
end;
//Чтобы узнать общий объем физической и виртуальной памяти
//достаточно воспользоваться API функцией GlobalMemoryStatus.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var MemoryStatus: TMemoryStatus;
begin
Memo1.Lines.Clear;
MemoryStatus.dwLength := SizeOf(MemoryStatus) ;
GlobalMemoryStatus(MemoryStatus) ;
with MemoryStatus
do
begin
Memo1.Lines.Add(IntToStr(dwMemoryLoad) +
'% использованно памяти') ;
Memo1.Lines.Add(IntToStr(dwTotalPhys) +
' Всего физической памяти (в байтах)') ;
Memo1.Lines.Add(IntToStr(dwAvailPhys) +
' Доступно физической памяти (в байтах)') ;
Memo1.Lines.Add(IntToStr(dwTotalPageFile) +
' Всего виртуальной памяти (в байтах)') ;
Memo1.Lines.Add(IntToStr(dwAvailPageFile) +
' Доступно виртуальной памяти (в байтах) ') ;
Memo1.Lines.Add(IntToStr(dwTotalVirtual) +
' Адресное виртуальное простанство текущего процесса') ;
Memo1.Lines.Add(IntToStr(dwAvailVirtual) +
' Доступно байт виртуального адресного пространства текущего процесса') ;
end;
end;
//Сетевая карта
Код:
function GetNetworkConnections: String;
var
ByteWritten, NeedBytes: DWORD;
lpConnections, lpTmpCon: PRasEntryName;
dwError: DWORD;
I: Integer;
begin
Result := '';
ByteWritten := 0;
NeedBytes := SizeOf(TRasEntryName);
lpConnections := HeapAlloc(GetProcessHeap, HEAP_ZERO_MEMORY, NeedBytes);
if lpConnections <> nil then
try
lpConnections^.dwSize := NeedBytes;
dwError := RasEnumEntries(nil, nil, lpConnections, @NeedBytes, @ByteWritten);
if dwError = ERROR_BUFFER_TOO_SMALL then
begin
lpConnections := HeapReAlloc(GetProcessHeap, HEAP_ZERO_MEMORY,
lpConnections, NeedBytes);
dwError := RasEnumEntries(nil, nil, lpConnections, @NeedBytes, @ByteWritten);
end;
if dwError = ERROR_SUCCESS then
if ByteWritten <> 0 then
begin
lpTmpCon := lpConnections;
for I := 0 to ByteWritten - 1 do
begin
Result := Result + ' - ' + lpTmpCon^.szEntryName + sLineBreak;
Inc(lpTmpCon);
end;
end;
finally
HeapFree(GetProcessHeap, 0, lpConnections);
end;
end;
//Имя компа
Код:
function GetComputerNetName: string;
var buffer: array[0..255] of char; size: dword;
begin
size := 256;
if GetComputerName(buffer, size) then
Result := buffer else Result := ''
end;
|