Egy meghajtó fajtáját a GetDriveType() WinAPI függvény segítségével tudjuk megállapítani. GetDriveType() : WinAPI függvény, amely visszaadja a meghajtó típusát. Az egyetlen paraméter, amit át kell adni neki, a meghajtó betűjele A:\ formátumban. A függvény visszatérési értékei a következők: 0 : nem állapítható meg 1 : a gyökérkönyvtár nem létezik DRIVE_REMOVABLE : a lemez eltávolítható a meghajtóból (floppy) DRIVE_FIXED : a lemez nem távolítható el a meghajtóból (merevlemez) DRIVE_REMOTE : hálózati meghajtó DRIVE_CDROM : CD-ROM meghajtó DRIVE_RAMDISK : RAM disk . Az alábbi példa egy gomb lenyomására egy ListBox-ban megjeleníti a gépen található meghajtók betűjelét és fajtáját. A GetDriveType() függvény által visszaadott (meghajtó-típus) értéket egy többágú szelekcióval (case) értékeljük ki, majd hozzáadjuk a ListBox elemeihez. { . . . } type TForm1 = class(TForm) ListBox1: TListBox; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; { . . . } procedure TForm1.Button1Click(Sender: TObject); var x : char; DrvType : Integer; DrvLetter, DrvString : String; begin ListBox1.Clear; {25 lehetséges meghajtó ... a-z} for x := 'A' to 'Z' do begin DrvLetter := x +':\'; {A meghajtó-típus megállapítása} DrvType := GetDriveType(pChar(DrvLetter)); {A visszatérő érték elemzése} case DrvType of 0,1 : DrvString := ''; DRIVE_REMOVABLE : DrvString := 'Removable'; DRIVE_FIXED : DrvString := 'Fixed'; DRIVE_REMOTE : DrvString := 'Network'; DRIVE_CDROM : DrvString := 'CD-ROM'; DRIVE_RAMDISK : DrvString := 'RAM disk'; end; {Ha nem üres a meghajtó típusát jelölő string, akkor a betűjelét és típusát hozzáadjuk a ListBox elemeihez} if DrvString <> '' then Listbox1.Items.Add(DrvLetter + ' = ' + DrvString); end; end;