Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Написание программы идентификации процессора (http://forum.oszone.net/showthread.php?t=64795)

OlegX 23-04-2006 19:43 430989

Написание программы идентификации процессора
 
Хочу написать программу индификации процессора (частота, марка, кеш и т.д) и некоторые другие функции. На чем её лучше писать (на 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


lehha 05-05-2006 12:02 434596

А можно на С
Код:

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.

Время: 05:10.
© OSzone.net 2001-