C#檢測(cè)移動(dòng)硬盤并獲取移動(dòng)硬盤盤符的方法
網(wǎng)上找了很久關(guān)于C#檢測(cè)移動(dòng)硬盤并獲取盤符的代碼但沒(méi)能找到,所以只能自己解決了
C#獲取所有硬盤
var arr = DriveInfo.GetDrives();
得出的所有磁盤,發(fā)現(xiàn)對(duì)于移動(dòng)硬盤,DriveType 不是 Removable 類型,而是 Fixed 枚舉類型。
C#檢測(cè)移動(dòng)硬盤,網(wǎng)上找了很久,沒(méi)有現(xiàn)成正確的代碼,只有自己想辦法了。
代碼如下:
public static List<string> GetListDisk() { List<string> lstDisk = new List<string>(); ManagementClass mgtCls = new ManagementClass("Win32_DiskDrive"); var disks = mgtCls.GetInstances(); foreach (ManagementObject mo in disks) { //if (mo.Properties["InterfaceType"].Value.ToString() != "SCSI" // && mo.Properties["InterfaceType"].Value.ToString() != "USB" // ) // continue; if (mo.Properties["MediaType"].Value == null || mo.Properties["MediaType"].Value.ToString() != "External hard disk media") { continue; } //foreach (var prop in mo.Properties) //{ // Console.WriteLine(prop.Name + "\t" + prop.Value); //} foreach (ManagementObject diskPartition in mo.GetRelated("Win32_DiskPartition")) { foreach (ManagementBaseObject disk in diskPartition.GetRelated("Win32_LogicalDisk")) { lstDisk.Add(disk.Properties["Name"].Value.ToString()); } } //Console.WriteLine("-------------------------------------------------------------------------------------------"); } return lstDisk; }
此代碼是通過(guò)找 Win32_DiskDrive,Win32_DiskPartition,Win32_LogicalDisk 對(duì)應(yīng)的屬性值的規(guī)律, 三個(gè)之間的關(guān)系 得出 移動(dòng)硬盤的盤符的。
相關(guān)文章
C#函數(shù)式程序設(shè)計(jì)之用閉包封裝數(shù)據(jù)的實(shí)現(xiàn)代碼
如果一個(gè)程序設(shè)計(jì)語(yǔ)言能夠用高階函數(shù)解決問(wèn)題,則意味著數(shù)據(jù)作用域問(wèn)題已十分突出。當(dāng)函數(shù)可以當(dāng)成參數(shù)和返回值在函數(shù)之間進(jìn)行傳遞時(shí),編譯器利用閉包擴(kuò)展變量的作用域,以保證隨時(shí)能得到所需要的數(shù)據(jù)2014-03-03關(guān)于C#數(shù)強(qiáng)轉(zhuǎn)會(huì)不會(huì)拋出異常詳解
這篇文章主要給大家介紹了關(guān)于C#數(shù)強(qiáng)轉(zhuǎn)會(huì)不會(huì)拋出異常的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04C#表達(dá)式樹(shù)Expression動(dòng)態(tài)創(chuàng)建表達(dá)式
這篇文章介紹了C#表達(dá)式樹(shù)Expression動(dòng)態(tài)創(chuàng)建表達(dá)式的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12