Написание программы идентификации процессора

Ответить
Аватара пользователя
OlegX

Написание программы идентификации процессора

Сообщение OlegX »

Хочу написать программу индификации процессора (частота, марка, кеш и т.д) и некоторые другие функции. На чем её лучше писать (на Delhi(есть неплохохие знания) или на С+(знаней по ней меньше)? Или может кто подскажет где взять исходники такой проги?
Аватара пользователя
DillerInc

Re: Написание программы идентификации процессора

Сообщение DillerInc »

OlegX

В принципе можно написать и на Delphi -- это скорее всего будет код,который будет просто считывать информацию из следующего ключа реестра:

[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0]

Или можно попробовать написать программку на ассемблере,которая будет использовать команду CPUID и,к примеру,RDTSC для получения нужной информации,так сказать,в реальном времени.
Аватара пользователя
hasherfrog

Re: Написание программы идентификации процессора

Сообщение hasherfrog »

Можно на 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
Аватара пользователя
programmist72

Re: Написание программы идентификации процессора

Сообщение programmist72 »

А можно на С



Код:

Код: Выделить всё

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

Re: Написание программы идентификации процессора

Сообщение programmist72 »

Да не важно на каком языке, главное чтобы эта программа считывала значения из ключа реестра, который указал DillerInc. Ещё должна быть информация о процессоре в ключе HKEY_DYN_DATA. Но так как это динамически изменяющийся ключ реестра, то его в файлах реестра нет. Так-то он реально существует, но вот как из него считывать информацию - я сейчас не берусь ответить на этот вопрос. А язык программирования - какой лучше знаешь, на том и пиши.
Ответить

Вернуться в «Программирование и базы данных»