亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中如何獲取邏輯硬盤信息

發布時間:2021-07-19 15:37:50 來源:億速云 閱讀:274 作者:Leah 欄目:編程語言

這篇文章給大家介紹C#中如何獲取邏輯硬盤信息,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1、概述

若僅簡單實現C#獲取邏輯驅動器的名稱列表我們使用.NET框架的Environment.GetLogicalDrives即可,但是若想獲得更多關于磁盤驅動器的信息我們可以使用.NET框架下的System.Management命名空間所提供的類和委托等對大量管理信息和管理事件的集合進行訪問(見http://www.iwebtrados.com.cn/post/111.html),這些信息和事件都與WMI有關,該命名空間下的類實際上也是對WMI的一種封裝,應用程序和服務可以使用從ManagementObjectSearcher和ManagementQuery派生的類,查詢感興趣的管理信息,例如在磁盤上還剩多少可用空間、當前CPU利用率是多少、某一應用程序正連接到哪一數據庫等等。下面,我將詳細闡述如何利用WMI獲取邏輯硬盤詳細信息。

2、C#獲取更多邏輯硬盤信息實現過程

(1)首先用Visual Studio 2005新建一個C#的Winform工程,在form1窗體上拖放一個listview控件以及一個button控件,都采用默認命名,設置listview的view屬性為detail,添加5個列名稱分別為“名稱”,“類型”,“總大小”,“可用空間”,“序列號”。

(2)引入System.Management

(3)在button_click事件中鍵入如下代碼

Code  privatevoidbutton1_Click(objectsender,EventArgse)  {  SelectQuerysq=newSelectQuery("select*fromwin32_logicaldisk");  System.Management.ManagementObjectSearchermos=newManagementObjectSearcher(sq);  //  this.listView1.Items.Clear();  foreach(System.Management.ManagementObjectdiskinmos.Get())  {  ListViewItemitem=listView1.Items.Add(disk["Name"].ToString());  //Name表示設備的名稱  //各屬性的標識見聯機的MSDN里,Win32andCOMDevelopment下的WMI。  //如http://msdn.microsoft.com/en-us/library/aa394173(VS.85).aspx  try {  stringstrType=disk["DriveType"].ToString();  switch(strType)//類型  {  case"0":  item.SubItems.Add("未知設備");  break;  case"1":  item.SubItems.Add("未分區");  break;  case"2":  item.SubItems.Add("可移動磁盤");  break;  case"3":  item.SubItems.Add("硬盤");  break;  case"4":  item.SubItems.Add("網絡驅動器");  break;  case"5":  item.SubItems.Add("光驅");  break;  case"6":  item.SubItems.Add("內存磁盤");  break;  }  }  catch {  item.SubItems.Add("設備未準備好");  }  try {  item.SubItems.Add(GetSizeUseUnit(disk["Size"].ToString()));  //未用GetSizeUseUnit函數處理的Size屬性以字節為單位  }  catch {  }  try//可移動設備如光驅在未插入光盤時處于不可用狀態,需要捕捉異常。  {  item.SubItems.Add(GetSizeUseUnit(disk["FreeSpace"].ToString()));  }  catch {  }  try {  item.SubItems.Add(disk["VolumeSerialNumber"].ToString());  }  catch {  }  }  }   //處理大小的函數

Code  

privatestringGetSizeUseUnit(stringsize)  {  doubledSpace=Convert.ToDouble(size);  stringsSpace=dSpace.ToString("N");  string[]tmp;  stringrtnSize="0";  tmp=sSpace.Split(',');  switch(tmp.GetUpperBound(0))  {  case0:  rtnSize=tmp[0]+"字節";  break;  case1:  rtnSize=tmp[0]+"."+tmp[1].Substring(0,2)+"K";  break;  case2:  rtnSize=tmp[0]+"."+tmp[1].Substring(0,2)+"M";  break;  case3:  rtnSize=tmp[0]+"."+tmp[1].Substring(0,2)+"G";  break;  case4:  rtnSize=tmp[0]+"."+tmp[1].Substring(0,2)+"T";  break;  }  returnrtnSize;  }

關于C#中如何獲取邏輯硬盤信息就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平南县| 蓬安县| 望奎县| 灵武市| 石门县| 苍南县| 万荣县| 道真| 肥西县| 承德市| 淅川县| 视频| 上高县| 东平县| 昌都县| 隆尧县| 枞阳县| 贵溪市| 通州市| 瓦房店市| 彭泽县| 梁山县| 灵璧县| 峨山| 谢通门县| 洛隆县| 新蔡县| 新化县| 奉化市| 皮山县| 阳谷县| 德令哈市| 河南省| 阿拉尔市| 柳江县| 河西区| 吴堡县| 沁源县| 肇东市| 台东市| 彰武县|