نحوه به دست آوردن لیست درایوهای سیستم
با سلام
با استفاده از روش زیر میتونید لیست درایوهای سیستم رو بدست بیارید ...
...
پروژه جدیدی ایجاد کنید ، یک ListBox و یک BitBtn بر روی فرم بزارید ...
در OnClick مربوط به BitBtn کد زیر رو بنویسید :
کد:
procedure TMainFrm.GetBtnClick(Sender: TObject);
var
Drive: Char;
DriveLetter: String[4];
begin
for Drive := 'A' to 'Z' do
begin
DriveLetter := Drive + ':\';
case GetDriveType(PChar(Drive + ':\')) of
DRIVE_REMOVABLE:
DrivesLBox.Items.Add(DriveLetter + ' : Floppy Drive') ;
DRIVE_FIXED:
DrivesLBox.Items.Add(DriveLetter + ' : Fixed Drive') ;
DRIVE_REMOTE:
DrivesLBox.Items.Add(DriveLetter + ' : Network Drive') ;
DRIVE_CDROM:
DrivesLBox.Items.Add(DriveLetter + ' : CD-ROM Drive') ;
DRIVE_RAMDISK:
DrivesLBox.Items.Add(DriveLetter + ' : RAM Disk') ;
end;
end;
end;
کد بالا با استفاده از یک حلقه For مقادیر " A " تا " Z " رو به متغیر Drive میده و در درون حلقه با استفاده از تابع GetDriveType و با قرار دادن مقدار متغیر Drive به عنوان نام درایو در درون تابع نوع درایو مربوطه رو بدست می یاره ...
اگر حرفی که در متغیر Drive هست جزء نام درایو ها نباشه ، مقداری برگشت داده نمی شه ( مقداری از نوع درایو برگشت داده نمی شه ) ...
با توجه به نوع درایو ، تابع مذکور ، مقداری مشخص رو برمیگردونه که در کد بالا می بینید ...
در زیر میتونید سورس این برنامه رو دانلود کنید :
کد:
http://nabegheh.parsaspace.com/Examples/GetDrivesList.rar
موفق باشید ...