Форум: "Система";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизЧастота компа Найти похожие ветки
← →
ASMiD (2004-03-20 14:54) [0]Сэры!
Подскажите плз, как получить частоту компьютера и тип видеокарты?
← →
ASMiD (2004-03-20 14:54) [0]Сэры!
Подскажите плз, как получить частоту компьютера и тип видеокарты?
← →
Raki (2004-03-28 14:31) [1]Эта функция определяет реальную частоту проца.(У меня при заявленной 1834 показывает от 1840 до 1880)
function GetCPUFrequency: word;
var
TimeStart: integer;
TimeStop: integer;
StartTicks: dword;
EndTicks: dword;
TotalTicks: dword;
cpuSpeed: dword;
NeverExit: Boolean;
begin
TimeStart:=0;
TimeStop:=0;
StartTicks:=0;
EndTicks:=0;
TotalTicks:=0;
cpuSpeed:=0;
NeverExit:=True;
TimeStart:=timeGetTime;
while NeverExit do
begin
TimeStop:=timeGetTime;
if ((TimeStop-TimeStart)>1) then
begin
asm
xor eax,eax
xor ebx,ebx
xor ecx,ecx
xor edx,edx
db $0F,$A2 /// cpuid
db $0F,$31 /// rdtsc
mov StartTicks,eax
end;
Break;
end;
end;
TimeStart:=TimeStop;
while NeverExit do
begin
TimeStop:=timeGetTime;
if ((TimeStop-TimeStart)>1000) then
begin
asm
xor eax,eax
xor ebx,ebx
xor ecx,ecx
xor edx,edx
db $0F,$A2 /// cpuid
db $0F,$31 /// rdtsc
mov EndTicks,eax
end;
Break;
end;
end;
TotalTicks:=EndTicks-StartTicks;
cpuSpeed:=TotalTicks div 1000000;
GetCPUFrequency:=cpuSpeed;
end;
А вот пример получения информации о видеокарте
procedure TForm1.button1click(Sender: TObject);
var
lpDisplayDevice: TDisplayDevice;
dwFlags: DWORD;
cc: DWORD;
begin
form1.memo1.Clear;
lpDisplayDevice.cb := sizeof(lpDisplayDevice);
dwFlags := 0;
cc := 0;
while EnumDisplayDevices(nil, cc, lpDisplayDevice, dwFlags) do
begin
Inc(cc);
form1.memo1.lines.add(lpDisplayDevice.DeviceString);
{Так же мы увидим дополнительную информацию в lpDisplayDevice}
end;
end;
Если понадобятся процедуры для нахождения более расширенной инфы про проц-скажи. Единственное, пока не могу найти процедуру для определения объема памяти видеокарты.
← →
Raki (2004-03-28 14:31) [1]Эта функция определяет реальную частоту проца.(У меня при заявленной 1834 показывает от 1840 до 1880)
function GetCPUFrequency: word;
var
TimeStart: integer;
TimeStop: integer;
StartTicks: dword;
EndTicks: dword;
TotalTicks: dword;
cpuSpeed: dword;
NeverExit: Boolean;
begin
TimeStart:=0;
TimeStop:=0;
StartTicks:=0;
EndTicks:=0;
TotalTicks:=0;
cpuSpeed:=0;
NeverExit:=True;
TimeStart:=timeGetTime;
while NeverExit do
begin
TimeStop:=timeGetTime;
if ((TimeStop-TimeStart)>1) then
begin
asm
xor eax,eax
xor ebx,ebx
xor ecx,ecx
xor edx,edx
db $0F,$A2 /// cpuid
db $0F,$31 /// rdtsc
mov StartTicks,eax
end;
Break;
end;
end;
TimeStart:=TimeStop;
while NeverExit do
begin
TimeStop:=timeGetTime;
if ((TimeStop-TimeStart)>1000) then
begin
asm
xor eax,eax
xor ebx,ebx
xor ecx,ecx
xor edx,edx
db $0F,$A2 /// cpuid
db $0F,$31 /// rdtsc
mov EndTicks,eax
end;
Break;
end;
end;
TotalTicks:=EndTicks-StartTicks;
cpuSpeed:=TotalTicks div 1000000;
GetCPUFrequency:=cpuSpeed;
end;
А вот пример получения информации о видеокарте
procedure TForm1.button1click(Sender: TObject);
var
lpDisplayDevice: TDisplayDevice;
dwFlags: DWORD;
cc: DWORD;
begin
form1.memo1.Clear;
lpDisplayDevice.cb := sizeof(lpDisplayDevice);
dwFlags := 0;
cc := 0;
while EnumDisplayDevices(nil, cc, lpDisplayDevice, dwFlags) do
begin
Inc(cc);
form1.memo1.lines.add(lpDisplayDevice.DeviceString);
{Так же мы увидим дополнительную информацию в lpDisplayDevice}
end;
end;
Если понадобятся процедуры для нахождения более расширенной инфы про проц-скажи. Единственное, пока не могу найти процедуру для определения объема памяти видеокарты.
← →
VMcL © (2004-03-29 14:47) [2]>>ASMiD (20.03.04 14:54)
Что такое "частота компьютера", стесняюсь спросить?
← →
VMcL © (2004-03-29 14:47) [2]>>ASMiD (20.03.04 14:54)
Что такое "частота компьютера", стесняюсь спросить?
← →
Digitman © (2004-03-29 15:18) [3]
> VMcL
это частота такого компьютера, в составе которого ничего кроме мультивибратора, задающего некую одну-единственную периодическую импульсную последовательность, больше ничего нет .. даже того же блока питания ... ибо говорить о каких-то там "частотах", когда речь идет об импульсном БП, попросту глупо
← →
Digitman © (2004-03-29 15:18) [3]
> VMcL
это частота такого компьютера, в составе которого ничего кроме мультивибратора, задающего некую одну-единственную периодическую импульсную последовательность, больше ничего нет .. даже того же блока питания ... ибо говорить о каких-то там "частотах", когда речь идет об импульсном БП, попросту глупо
← →
SEvgeniy (2004-03-29 15:36) [4]это,вероятно, частота с которой компьютер скачет по столу ж)
← →
SEvgeniy (2004-03-29 15:36) [4]это,вероятно, частота с которой компьютер скачет по столу ж)
← →
Ozone © (2004-03-29 16:15) [5]Практически всю информацию о комп-ре дает WMI...
← →
Ozone © (2004-03-29 16:15) [5]Практически всю информацию о комп-ре дает WMI...
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c