Delphi: HDD szériaszáma
Programozással kapcsolatos cikkek / Delphi (1903 katt)
Esetleg szükségünk lehet arra, hogy megállapítsuk egy adott meghajtó - winchester - szériaszámát, de az eredetit, nem pedig azt amit a Windows ad neki formázáskor.
Erre például programok védelmekor lehet szükség.
Az alábbi kis program a HDD szériaszámát adja vissza String formátumban.
function Get_HDDSerialNumber():String;
var szOutBuffer : Array [0..40] of Char;
aIdBuffer : Array [0..IDENTIFY_BUFFER_SIZE-1] of Byte;
IdSector : TIdSector absolute aIdBuffer;
hDevice : THandle;
nIdSectorSize : LongInt;
begin
FillChar(aIdBuffer,SizeOf(aIdBuffer),#0);
hDevice := GetPhysicalDriveHandle( 0, GENERIC_READ or GENERIC_WRITE );
if hDevice=INVALID_HANDLE_VALUE then
begin
showmessage('hiba');
end
Else
Begin
If not SmartIdentifyDirect( hDevice, 0, IDE_ID_FUNCTION, IdSector,
nIdSectorSize ) Then
Begin
showmessage('hiba');
End;
End;
with IdSector do
begin
ChangeByteOrder( sSerialNumber, SizeOf(sSerialNumber) );
szOutBuffer[SizeOf(sSerialNumber)] := #0;
StrLCopy( szOutBuffer, sSerialNumber, SizeOf(sSerialNumber) );
result := Trim(szOutBuffer);
end;
CloseHandle(hDevice);
end;
A program a mindenkori Master HDD eszköznek a szériaszámát kérdezi le.
Előző oldal | samuraj |