91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

会理县| 仪征市| 台中县| 吉木乃县| 沈阳市| 福建省| 郎溪县| 梅河口市| 台山市| 金塔县| 镇雄县| 璧山县| 胶南市| 微博| 独山县| 浙江省| 黔东| 大足县| 卓资县| 邵阳县| 疏附县| 杭州市| 彭山县| 酒泉市| 牟定县| 嘉义市| 乌苏市| 台北市| 马龙县| 湄潭县| 汝阳县| 福建省| 大同县| 晋州市| 哈密市| 师宗县| 闽清县| 南郑县| 浠水县| 石林| 峡江县|