Написание программы идентификации процессора
Хочу написать программу индификации процессора (частота, марка, кеш и т.д) и некоторые другие функции. На чем её лучше писать (на Delhi(есть неплохохие знания) или на С+(знаней по ней меньше)? Или может кто подскажет где взять исходники такой проги?
|
DillerInc |
24-04-2006 01:06 431057 |
OlegX
В принципе можно написать и на Delphi -- это скорее всего будет код,который будет просто считывать информацию из следующего ключа реестра:
[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0]
Или можно попробовать написать программку на ассемблере,которая будет использовать команду CPUID и,к примеру,RDTSC для получения нужной информации,так сказать,в реальном времени.
|
hasherfrog |
05-05-2006 11:17 434568 |
Можно на js. Вот пример работы скрипта wmiadmin.js by Dmitry Khudorozhkov (только кусок)
Код:
Processors
Processor 1
Architecture x86
Availability Running / Full Power
Caption x86 Family 15 Model 43 Stepping 1
CPU status CPU Enabled
Current clock speed, MHz 2000
Current voltage 13
Device ID CPU0
Family Unknown (2)
Manufacturer AuthenticAMD
Maximum clock speed, MHz 2000
Name AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
Processor ID 178BFBFF00020FB1
Processor type Central Processor
Revision 11009
Role CPU
Socket type Socket 939
Status OK
Version Модель 11, Выпуск 1
Processor 2
Architecture x86
Availability Running / Full Power
Caption x86 Family 15 Model 43 Stepping 1
CPU status CPU Enabled
Current clock speed, MHz 2000
Current voltage 13
Device ID CPU1
Family Unknown (2)
Manufacturer AuthenticAMD
Maximum clock speed, MHz 2000
Name AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
Processor ID 078BFBFF00020FB1
Processor type Central Processor
Revision 11009
Role CPU
Socket type Socket 939
Status OK
Version Модель 11, Выпуск 1
|
А можно на С
Код:
class Win32_Processor : CIM_Processor
{
uint16 AddressWidth;
uint16 Architecture;
uint16 Availability;
string Caption;
uint32 ConfigManagerErrorCode;
boolean ConfigManagerUserConfig;
uint16 CpuStatus;
string CreationClassName;
uint32 CurrentClockSpeed;
uint16 CurrentVoltage;
uint16 DataWidth;
string Description;
string DeviceID;
boolean ErrorCleared;
string ErrorDescription;
uint32 ExtClock;
uint16 Family;
datetime InstallDate;
uint32 L2CacheSize;
uint32 L2CacheSpeed;
uint32 LastErrorCode;
uint16 Level;
uint16 LoadPercentage;
string Manufacturer;
uint32 MaxClockSpeed;
string Name;
string OtherFamilyDescription;
string PNPDeviceID;
uint16 PowerManagementCapabilities[];
boolean PowerManagementSupported;
string ProcessorId;
uint16 ProcessorType;
uint16 Revision;
string Role;
string SocketDesignation;
string Status;
uint16 StatusInfo;
string Stepping;
string SystemCreationClassName;
string SystemName;
string UniqueId;
uint16 UpgradeMethod;
string Version;
uint32 VoltageCaps;
};
|
programmist72 |
15-05-2006 11:35 438151 |
Да не важно на каком языке, главное чтобы эта программа считывала значения из ключа реестра, который указал DillerInc. Ещё должна быть информация о процессоре в ключе HKEY_DYN_DATA. Но так как это динамически изменяющийся ключ реестра, то его в файлах реестра нет. Так-то он реально существует, но вот как из него считывать информацию - я сейчас не берусь ответить на этот вопрос. А язык программирования - какой лучше знаешь, на том и пиши.
|
Время: 05:10.
© OSzone.net 2001-