المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : Problem to use letters ( c: , d:) with the physical drive:



C# Programming
06-13-2010, 10:30 PM
Hi

I'm trying to use the name of a logical drive (c: and dhttp://www.barakasoft.com/script/Forums/Images/smiley_smile.gif . I can't use them to get access to the physical drive in order to get the type, the model, the interface, the capacity, sectors and cylinders.

My code :

private void Form1_Load(object sender, EventArgs e)
{

ManagementObjectSearcher mosDisks = new ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk");
foreach (ManagementObject moDisk in mosDisks.Get())
{
comboBox2.Items.Add(moDisk["DeviceID"].ToString());
}

}




private void button4_Click_1(object sender, EventArgs e)
{
listView2.Items.Clear()
ManagementObjectSearcher mosDisks = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive WHERE DeviceID = '" + comboBox2.SelectedItem + "'");
foreach (ManagementObject moDisk in mosDisks.Get())
{

ListViewItem item = listView2.Items.Add("Type: " + moDisk["MediaType"].ToString());
ListViewItem item2 = listView2.Items.Add("Model: " + moDisk["Model"].ToString());
ListViewItem item3 = listView2.Items.Add("Interface: " + moDisk["InterfaceType"].ToString());
ListViewItem item4 = listView2.Items.Add("Capacity: " + moDisk["Size"].ToString() + " bytes (" + Math.Round(((((double)Convert.ToDouble(moDisk["Size"]) / 1024) / 1024) / 1024), 2) + " GB)");
ListViewItem item5 = listView2.Items.Add("Partitions: " + moDisk["Partitions"].ToString());
ListViewItem item6 = listView2.Items.Add("Signature: " + moDisk["Signature"].ToString());
ListViewItem item7 = listView2.Items.Add("Cylinders: " + moDisk["TotalCylinders"].ToString());
ListViewItem item8 = listView2.Items.Add("Sectors: " + moDisk["TotalSectors"].ToString());
ListViewItem item9 = listView2.Items.Add("Heads: " + moDisk["TotalHeads"].ToString());
ListViewItem item10 = listView2.Items.Add("Tracks: " + moDisk["TotalTracks"].ToString());
ListViewItem item11 = listView2.Items.Add("Bytes per Sector: " + moDisk["BytesPerSector"].ToString());
ListViewItem item12 = listView2.Items.Add("Sectors per Track: " + moDisk["SectorsPerTrack"].ToString());
ListViewItem item13 = listView2.Items.Add("Tracks per Cylinder: " + moDisk["TracksPerCylinder"].ToString());
ListViewItem item14 = listView2.Items.Add("Description: " + moDisk["Description"].ToString());

}
}

I have used this code and it worked fine but I can't get the letters instead of the Model in the combox
private void Form1_Load(object sender, EventArgs e)
{

ManagementObjectSearcher mosDisks = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject moDisk in mosDisks.Get())
{
comboBox2.Items.Add(moDisk["Model"].ToString());


}

}

private void button4_Click_1(object sender, EventArgs e)
{
listView2.Items.Clear();

ManagementObjectSearcher mosDisks = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive WHERE Model = '" + comboBox2.SelectedItem + "'");
foreach (ManagementObject moDisk in mosDisks.Get())
{

ListViewItem item = listView2.Items.Add("Type: " + moDisk["MediaType"].ToString());
ListViewItem item2 = listView2.Items.Add("Model: " + moDisk["Model"].ToString());
ListViewItem item3 = listView2.Items.Add("Interface: " + moDisk["InterfaceType"].ToString());
ListViewItem item4 = listView2.Items.Add("Capacity: " + moDisk["Size"].ToString() + " bytes (" + Math.Round(((((double)Convert.ToDouble(moDisk["Size"]) / 1024) / 1024) / 1024), 2) + " GB)");
ListViewItem item5 = listView2.Items.Add("Partitions: " + moDisk["Partitions"].ToString());
ListViewItem item6 = listView2.Items.Add("Signature: " + moDisk["Signature"].ToString());
ListViewItem item7 = listView2.Items.Add("Cylinders: " + moDisk["TotalCylinders"].ToString());
ListViewItem item8 = listView2.Items.Add("Sectors: " + moDisk["TotalSectors"].ToString());
ListViewItem item9 = listView2.Items.Add("Heads: " + moDisk["TotalHeads"].ToString());
ListViewItem item10 = listView2.Items.Add("Tracks: " + moDisk["TotalTracks"].ToString());
ListViewItem item11 = listView2.Items.Add("Bytes per Sector: " + moDisk["BytesPerSector"].ToString());
ListViewItem item12 = listView2.Items.Add("Sectors per Track: " + moDisk["SectorsPerTrack"].ToString());
ListViewItem item13 = listView2.Items.Add("Tracks per Cylinder: " + moDisk["TracksPerCylinder"].ToString());
ListViewItem item14 = listView2.Items.Add("Description: " + moDisk["Description"].ToString());

}
}