Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Инфа об ОС и частоте CPU, самым простым способом 
:(
    Опции темы
Limonadni Joe
Дата 2.9.2004, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 1.11.2002
Где: Москва

Репутация: нет
Всего: 2



Как самым простым способом получить название ОС? Требуется лишь знать её мажорную версию (типа XP или 95), никаких билдов и т.п.

Как самым простым способом получить величину частоты процессора?

Правдоподобность результатов - дело десятое (это насчёт разогнанных камней и кривых осей).
PM MAIL ICQ YIM MSN   Вверх
Beginner
Дата 2.9.2004, 22:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











function GetCPUSpeed: Double;
const

DelayTime = 500;
var

TimerHi : DWORD;
TimerLo : DWORD;
PriorityClass : Integer;
Priority : Integer;
begin

PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);
SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);


Sleep(10);


asm
DW 310Fh // rdtsc
MOV TimerLo, EAX
MOV TimerHi, EDX
end;


Sleep(DelayTime);


asm
DW 310Fh // rdtsc
SUB EAX, TimerLo
SBB EDX, TimerHi
MOV TimerLo, EAX
MOV TimerHi, EDX
end;


SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);
Result := TimerLo / (1000.0 * DelayTime);
end;

  Вверх
Beginner
Дата 2.9.2004, 22:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











function WinVer:String;
var
WinV:Word;
begin
WinV := GetVersion AND $0000FFFF;
Result:=IntToStr(Lo(WinV))+'.'+IntToStr(Hi(WinV));
end;
  Вверх
Limonadni Joe
Дата 3.9.2004, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 1.11.2002
Где: Москва

Репутация: нет
Всего: 2



Т.е. частоту процессора нельзя вот так просто прочесть откуда-нибудь?..

И как соотносятся значения WinV с названиями осей? Как я понял из справки: 4.1 - win95, 3.0 и 4.0 - NT. А как определить 98, ME, XP и др.?

Это сообщение отредактировал(а) Limonadni Joe - 3.9.2004, 20:08
PM MAIL ICQ YIM MSN   Вверх
Pakshin A. S.
Дата 4.9.2004, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Вот исходник, где задействована частота процессора. Немного подумав, можно понять что к чему:
http://www.delphimaster.ru/cgi-bin/faq.pl?...=988621408&n=15
PM   Вверх
Pakshin A. S.
Дата 4.9.2004, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Простой поиск по форуму выдал интересные статейки (читать полностью):
http://forum.vingrad.ru/index.php?showtopi...тота+процессора

http://forum.vingrad.ru/index.php?showtopi...тота+процессора
PM   Вверх
Royan
Дата 4.9.2004, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: нет
Всего: 15



Цитата
читать полностью

Видимо имелось ввиду обратить внимание на ключ реестра:

HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0



--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
Pakshin A. S.
Дата 4.9.2004, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Точно! Ну и просто на советы других пользователей... тама ещё мысль была.
PM   Вверх
Limonadni Joe
Дата 4.9.2004, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 1.11.2002
Где: Москва

Репутация: нет
Всего: 2



Ладно... а про видны кто-нибудь скажет?
PM MAIL ICQ YIM MSN   Вверх
p0s0l
Дата 5.9.2004, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



См. DRKB:
Код

Как получить версию Windows?

Type TOSVersion=(osUnknown, osUnknown9x, osUnknownNT, osWin95, osWin98, osWin98SE, osWinME, osWinNT, osWin2000, osXP);

function GetOSVersion : TOSVersion;
var osVerInfo : TOSVersionInfo;
majorVer, minorVer : Integer;  
 
begin
result := OsUnknown;  
osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);  
if GetVersionEx(osVerInfo) then  
begin  
majorVer := osVerInfo.dwMajorVersion;  
minorVer := osVerInfo.dwMinorVersion;  
case osVerInfo.dwPlatformId of  
VER_PLATFORM_WIN32_NT :  
Case majorVer of  
4:result := OsWinNT;  
5:if minorVer=0 then result := OsWin2000  
else  
if minorVer=1 then result := OsXP else result := osUnknownNT;  
else result := osUnknownNT;  
end; {Case majorVer of}  
VER_PLATFORM_WIN32_WINDOWS :  
case majorVer of  
4: Case minorVer of  
0:result := OsWin95;  
10: if osVerInfo.szCSDVersion[1] = 'A' then result := OsWin98SE else result := OsWin98;  
90: result := OsWinME;  
else result := osUnknown9x;  
end;{Case minorVer of}  
else result := osUnknown9x;  
end{case majorVer of}  
else result := OsUnknown;  
end;{case osVerInfo.dwPlatformId of}  
end;{if GetVersionEx(osVerInfo) then}  
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
case GetOSVersion of  
osUnknown: Showmessage('Unknown');  
osWin95: Showmessage('Win95');  
osWin98: Showmessage('Win98');  
osWin98SE: Showmessage('Win98SE');  
osWinME: Showmessage('WinME');  
osWinNT: Showmessage('WinNT');  
osWin2000: Showmessage('Win2000');  
osXP: Showmessage('XP');  
end;  
end;

Автор Vit
Взято с Vingrad.ru http://forum.vingrad.ru




--------------------
С уважением, г-н Посол.
PM   Вверх
Limonadni Joe
Дата 5.9.2004, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 1.11.2002
Где: Москва

Репутация: нет
Всего: 2



Спасибо, давно я в DRKB не заглядывал. А Windows 2003 это - (majorVer = 5) and (minorVer = 2)? Проверьте в делфи, у кого стоит эта ОС.
PM MAIL ICQ YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0505 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.