C#檢測(cè)移動(dòng)硬盤(pán)并獲取移動(dòng)硬盤(pán)盤(pán)符的方法
網(wǎng)上找了很久關(guān)于C#檢測(cè)移動(dòng)硬盤(pán)并獲取盤(pán)符的代碼但沒(méi)能找到,所以只能自己解決了
C#獲取所有硬盤(pán)
var arr = DriveInfo.GetDrives();
得出的所有磁盤(pán),發(fā)現(xiàn)對(duì)于移動(dòng)硬盤(pán),DriveType 不是 Removable 類型,而是 Fixed 枚舉類型。
C#檢測(cè)移動(dòng)硬盤(pán),網(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)硬盤(pán)的盤(pán)符的。
相關(guān)文章
C#判斷當(dāng)前程序是否通過(guò)管理員運(yùn)行的方法
這篇文章主要介紹了C#判斷當(dāng)前程序是否通過(guò)管理員運(yùn)行的方法,可通過(guò)非常簡(jiǎn)單的系統(tǒng)函數(shù)調(diào)用實(shí)現(xiàn)對(duì)當(dāng)前程序是否通過(guò)管理員運(yùn)行進(jìn)行判定,是非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11
C#中使用Lambda表達(dá)式自定義比較器實(shí)現(xiàn)兩個(gè)列表合并實(shí)例
這篇文章主要介紹了C#中使用Lambda表達(dá)式自定義比較器實(shí)現(xiàn)兩個(gè)列表的合并實(shí)例,本文給出示例代碼和運(yùn)行效果,需要的朋友可以參考下2014-10-10
C#使用FileSystemWatcher控件實(shí)現(xiàn)的文件監(jiān)控功能示例
這篇文章主要介紹了C#使用FileSystemWatcher控件實(shí)現(xiàn)的文件監(jiān)控功能,結(jié)合實(shí)例形式分析了C# FileSystemWatcher組件的功能及監(jiān)控文件更改情況的具體使用技巧,需要的朋友可以參考下2017-08-08
Unity shader實(shí)現(xiàn)頂點(diǎn)動(dòng)畫(huà)波動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了Unity shader實(shí)現(xiàn)頂點(diǎn)動(dòng)畫(huà)波動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04
輕松學(xué)習(xí)C#的預(yù)定義數(shù)據(jù)類型
輕松學(xué)習(xí)C#的預(yù)定義數(shù)據(jù)類型,C#的預(yù)定義數(shù)據(jù)類型包括兩種,一種是值類型,一種是引用類型,需要的朋友可以參考下2015-11-11
C# winform實(shí)現(xiàn)右下角彈出窗口結(jié)果的方法
這篇文章主要介紹了C# winform實(shí)現(xiàn)右下角彈出窗口結(jié)果的方法,結(jié)合實(shí)例形式分析了C#窗口操作的相關(guān)技巧,需要的朋友可以參考下2017-06-06
C#語(yǔ)句先后順序?qū)Τ绦虻慕Y(jié)果有影響嗎
有朋友問(wèn)我,C#中C#語(yǔ)句先后順序影響程序的結(jié)果嗎?告訴大家,答案是肯定的,絕對(duì)影響程序的結(jié)果,所以在程序中一定要注意C#語(yǔ)句的順序2015-10-10

