Contributor: SWAG SUPPORT TEAM 
{>How can [a disk serial number] be read from TP? Can it be changed other than>by re-Formatting? I can't find any reference to serial number>in the Dos 5.0 users guide except a passing one in the section>on the ForMAT command.
}
Uses Dos;
Var regs : Registers;
 LabelInfo : Record
 InfoLevel : Word; {Always 0}
 SerialNum : LongInt;
 VolumeLabel : Array [1..11] of Char;
 FileSystemType : Array [1..8] of Char;
 end;
begin
 if lo(DosVersion)<4 then
 begin
 Writeln ('Only works With Dos 4.0 or higher');
 Exit;
 end;
 LabelInfo.InfoLevel := 0; {Set Info level (0 is the only legal value)}
 With regs do
 begin
 ax := 6900ドル; {Function 69ドル With 0 in AL gets, With 1 in AL sets}
 bl := 0; {Drive, 0 For default, 1 For A:, 2 For B:, ...}
 ds := seg(LabelInfo); {DS:DX points at structure}
 dx := ofs(LabelInfo);
 es := 0; {Do not have garbage in segment Registers}
 flags := 0; { or in flags}
 MsDos(Regs);
 if Odd(flags) then {Carry set if error}
 begin
 Case AX of
 1: Writeln ('Illegal attempt to get Label from network drv');
 5: Writeln ('No Extended BPB on disk (Format old)');
 else Writeln ('Unknown error');
 end;
 end;
 end;
{On return, fills SerialNum, VolumeLabel, and FileSystemType fields.
 places 'FAT12 ' or 'FAT16 ' in FileSystemType, For 12- or 16-bit FAT
entries. With AL=1, will use info you store in LabelInfo to set disk's
extended BPB}
 

AltStyle によって変換されたページ (->オリジナル) /