Functions exported by this DLL:
UNIT CubicHardID;
INTERFACE
USES
Windows, SysUtils, Classes, Registry, PsAPI;
{ 'Dialogs.pas' brings about 310KB to the size of this DLL. Better not use it. }
CONST
{ OSMemType }
MemoryLoad = 1; { Total memory used in percents (%) }
TotalPhys = 2; { Total physical memory in bytes }
AvailPhys = 3; { Available physical memory (bytes) }
TotalPageFile = 4; { Total page file in (bytes) }
AvailPageFile = 5; { Available page file (bytes) }
TotalVirtual = 6; { Total virtual memory in bytes }
AvailVirtual = 7; { Available virtual memory (bytes) }
{ ProcMemType }
WorkingSetSize =1; {- the current working set size, in bytes. }
PageFaultCount =2; {- the number of page faults.}
PeakWorkingSetSize =3; {- the peak working set size, in bytes.}
QuotaPeakPagedPoolUsage =4; {- The peak paged pool usage, in bytes.}
QuotaPagedPoolUsage =5; {- The current paged pool usage, in bytes.}
QuotaPeakNonPagedPoolUsg =6; {- The peak nonpaged pool usage, in bytes.}
QuotaNonPagedPoolUsg =7; {- The current nonpaged pool usage, in bytes.}
PagefileUsage =8; {- The current space allocated for the pagefile, in bytes. Those pages may or may not be in memory.}
PeakPagefileUsage =9; {- The peak space allocated for the pagefile, in bytes.}
{ CPU }
function GetCPUSpeed : Double;
function CPUFamily : String; { Get cpu identifier from the windows registry }
function GetCpuTheoreticSpeed: Integer; { Get cpu speed (in MHz) }
function IsCPUIDAvailable : Boolean;
function GetCPUID (CoreMask: Word): String; { Get the ID of the specified logical CPU. For CoreMask parameter see this page. }
function GetCpuIdNow : String; { Get the ID of the first available logical CPU }
function GetCPUCount : Integer; { The number of LOGICAL processors in the current group }
function IsIntel64BitCPU : Boolean; { Detects IA64 processors }
function GetCPUVendor : String; { New GetCPUVendor function. Reported to work with D7 and D2009. }
{ RAM }
function MemStatWindows (CONST OSMemType : Byte): Cardinal; { in Bytes. Limited by the capacity of the OS (32bits OSs will report max 2GB) }
function MemStatWindows_KB (CONST OSMemType : Byte): String; { in KB }
function MemStatWindows_MB (CONST OSMemType : Byte): String; { in MB }
function MemStatCurrProc (CONST ProcMemType: Byte= 1): Cardinal; { Returns data about the memory used of the current process }
function MemStatPeak: Cardinal; { Peak memory used by current program }
{ RAM - Advanced stuff }
function GetPageSize: Cardinal; { The page size and the granularity of page protection and commitment. This is the page size used by the VirtualAlloc function. }
function GetMemGranularity: Integer; { Granularity with which virtual memory is allocated (in KB) }
function GetLowAddr: Cardinal; { Lowest RAM memory address accessible to applications (this is the RAM address, not virtual memory address) }
function GetHiAddr: Cardinal; { Lowest RAM memory address accessible to applications }
{ HDD }
function GetPartitionID (Partition : PAnsiChar): String; { Get the unique ID of the specified patition. Example of parameter: 'C:' for the first partition. 'D:' for the next partition, etc. }
function GetIDESerialNumber(DriveNumber: Byte): String; { Get the unique ID of the harddrive. DriveNumber parameters can have values from 0 to 7. Number 0 corresponds to the first physic drive. UAC details }
{ BIOS (NEW!) }
function BiosDate: string;
function BiosVersion: string; { Could be something like: TOSQCI - 6040000 Ver 1.00PARTTBL. TOS is comming from Toshiba Q is comming from product series (Qosmio) }
function BiosProductID: string; { Manufacturer product (laptop, PC) ID - Could be something like: Toshiba_PQX33U-01G00H }
function BiosVideo: string;
{ Utils }
procedure Mes(sMessage: PAnsiChar); { Lightweight replacement for Dialogs.Pas }
function BinToInt(Value: String): Integer;
function IntToBin(CONST Value, Digits: integer): String;
function CoreNumber2CoreMask(CoreNo: integer): integer; { Details }
procedure ChangeByteOrder(VAR Data; Size : Integer);
function GetDllVersion: Real;
{ INTERNAL }
function _isCPUIDAvailable: Boolean; Register;
function GetCPUVendor2: string;
function GetCPUVendor3: string;
function WindowsProductID: string;
IMPLEMENTATION
...
Note:
All strings used in this DLL are Delphi 7 (ANSI) strings.
The following functions are freely accessible (you don't need a to purchase the DLL in order to use them): ChangeByteOrder, BinToInt, IntToBin, CoreNumber2CoreMask, WindowsProductID, GetPageSize, GetMemGranularity, GetLowAddr, GetHiAddr, MemStatWindows, MemStatWindows_KB, MemStatWindows_MB, MemStatCurrProc, MemStatPeak, IsCPUIDAvailable, GetCpuTheoreticSpeed, GetCPUCount, IsIntel64BitCPU
HOME