Domácí úèto    Email šablony    Snadné hubnutí    Rybáø Â Â  EET Úètenky    Zbrojní prùkaz    Formuláøe na PC    VaøímeRecepty.cz    MojeUnikovka.cz    Recepty doma    Omalovánky    FormOffice    Pletení    Hromadné emaily    Formuláøe ZDARMA    Poèítej Kalorie    DWN.cz   
reklama
Delphi Motherboard Serial Number
kliknutím pøejdete na úvodní stranu DWN.cz - Download freeware a shareware zdarma
Delphi Motherboard Serial Number Windows programy Delphi Motherboard Serial Number Hry Delphi Motherboard Serial Number Magazín Delphi Motherboard Serial Number Reklama na DWN.cz Delphi Motherboard Serial Number Vydìlávejte s DWN.cz Delphi Motherboard Serial Number Kontakty
   Windows programy > Fotky, grafika a design > Digitální fotografie Pøihlášení registrovaného uživatele Pøihlášení uživatele Registrace nového uživatele Registrace uživatele Pøidat nový program Pøidat software Zobrazit mnou stažený software Stažený software

Delphi Motherboard Serial Number May 2026

P := RawData + TableOffset; while True do begin Header := Pointer(P); if Header.TypeId = 127 then Break; // End-of-table marker if Header.TypeId = 2 then begin Baseboard := Pointer(P); Result := ReadString(Baseboard.SerialNumber); if (Result <> '') and (Result <> 'To be filled by O.E.M.') then Break; end; Inc(P, Header.Length); // skip strings area while (P^ <> 0) or ((P+1)^ <> 0) do Inc(P); Inc(P, 2); end; finally FreeMem(RawData); end; end;

SMBIOS_BASEBOARD = packed record Header: SMBIOS_HEADER; Manufacturer: Byte; Product: Byte; Version: Byte; SerialNumber: Byte; AssetTag: Byte; FeatureFlags: Byte; Location: Byte; ChassisHandle: Word; BoardType: Byte; NumContained: Byte; end;

uses System.SysUtils, System.Win.ComObj, Winapi.Windows, ActiveX; Delphi Motherboard Serial Number

function GetMBSerialViaSMBIOS: string; var BufSize, i: Cardinal; RawData: PByte; P: PByte; Header: ^SMBIOS_HEADER; Baseboard: ^SMBIOS_BASEBOARD; TableOffset: NativeUInt; Strings: array of string; function ReadString(Offset: Byte): string; var StrStart: PByte; begin Result := ''; if Offset = 0 then Exit; StrStart := P + TableOffset + Baseboard.Header.Length + (Offset - 1); Result := PAnsiChar(StrStart); end; begin Result := ''; BufSize := GetSystemFirmwareTable('RSMB', 0, nil, 0); if BufSize = 0 then Exit;

P := RawData; // Skip SMBIOS entry point header (first 0x20 or 0x1F bytes) TableOffset := PWord(P + $16)^; // Entry point: structure table address offset P := RawData + TableOffset; while True do

function GetMBSerialViaWMI: string; var Locator, Service, Items, Item: OleVariant; begin Result := ''; CoInitialize(nil); try Locator := CreateOleObject('WbemScripting.SWbemLocator'); Service := Locator.ConnectServer('.', 'root\CIMV2'); Items := Service.ExecQuery('SELECT SerialNumber FROM Win32_BaseBoard'); for var i := 0 to Items.Count - 1 do begin Item := Items.ItemIndex(i); Result := VarToStrDef(Item.SerialNumber, ''); if (Result <> '') and (Result <> 'To be filled by O.E.M.') then Break; end; finally CoUninitialize; end; end;

implementation

GetMem(RawData, BufSize); try if GetSystemFirmwareTable('RSMB', 0, RawData, BufSize) = 0 then Exit;

Copyright © 2025. Martin Roubec. Všechna práva vyhrazena. (0.0225s cache=OFF norob nomob)