PDA

View Full Version : بدست آوردن لیست درایوهای Portable



simorgh-hossein
دوشنبه 29 خرداد 1391, 15:38 عصر
من میخوام لیست درایوهای Portable مثلا حافظه های فلشی که به کامپیوتر متصل شده رو بدست بیارم !
ممنون میشم که کمکم کنید ! :تشویق:

tooraj_azizi_1035
دوشنبه 29 خرداد 1391, 16:17 عصر
سلام


DriveInfo[] allDrives = DriveInfo.GetDrives();

List<string> RemovableDisks=new List<string>();

foreach (DriveInfo d in allDrives)

if(d.DriveType==DriveType.Removable)
RemovableDisks.Add(d.Name);

elec60
دوشنبه 29 خرداد 1391, 16:24 عصر
من میخوام لیست درایوهای Portable مثلا حافظه های فلشی که به کامپیوتر متصل شده رو بدست بیارم !
ممنون میشم که کمکم کنید ! :تشویق:

سلام،

بايد از كلاس DriveInfo استفاده نماييد.

DriveInfo[] allDrives = DriveInfo.GetDrives();

متد()GetDrives تمامي درايوهاي سيستم را به صورت آرايه اي از DriveInfo ها بر مي گرداند.

حالا مي توانيد با استفاده حلقه زيباي foreach روي عناصر allDrives ايتيريت كرده و نوع درايوها را چك نماييد.
اگر DriveType از نوع Removable بود (Fixed نبود) مربوط به درايو Portable است. اين درايو مي تواند Flash و يا CD\DVD باشد.
براي اين كه بفهميم اين درايو Portable فلش است يا CD\DVD و يا هارد USB بايد از توابع API ويندوز استفاده نماييم.

Mahmoud.Afrad
دوشنبه 29 خرداد 1391, 16:33 عصر
List<string> dir = new List<string>();
DriveInfo di;
private void button1_Click(object sender, EventArgs e)
{
foreach (string st in Environment.GetLogicalDrives().ToArray())
{
di = new DriveInfo(st);
if (di.DriveType == DriveType.Removable || di.DriveType == DriveType.Ram)
dir.Add(st);
}
//listBox1.Items.AddRange(dir.ToArray());
di = null;
}