Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Частота компа   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.042 c
3-1081952112
pashaz
2004-04-14 18:15
2004.05.09
Как узнать, что за база ?


3-1081697458
Mishenka
2004-04-11 19:30
2004.05.09
Добавление записи в таблицу


1-1082697675
able
2004-04-23 09:21
2004.05.09
Хранение важных параметров. Хелп, ф1, помАгите и т.д.


1-1082896015
Frozzen
2004-04-25 16:26
2004.05.09
CRC32 - понимаш


3-1081507342
Homer
2004-04-09 14:42
2004.05.09
Синхронизация.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский