日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#獲取邏輯硬盤更多信息方法談

C#獲取更多邏輯硬盤信息的過程,主要是利用Visual Studio 2005建立一個(gè)WinForm工程,并拖放相關(guān)控件。

十余年的興化網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整興化建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“興化網(wǎng)站設(shè)計(jì)”,“興化網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

1、概述

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

2、C#獲取更多邏輯硬盤信息實(shí)現(xiàn)過程

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

(2)引入System.Management,具體見http://www.iwebtrados.com.cn/post/102.html。

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

 
 
 
  1. Code  
  2. privatevoidbutton1_Click(objectsender,EventArgse)  
  3. {  
  4. SelectQuerysq=newSelectQuery("select*fromwin32_logicaldisk");  
  5. System.Management.ManagementObjectSearchermos=newManagementObjectSearcher(sq);  
  6. //  
  7. this.listView1.Items.Clear();  
  8. foreach(System.Management.ManagementObjectdiskinmos.Get())  
  9. {  
  10. ListViewItemitem=listView1.Items.Add(disk["Name"].ToString());  
  11. //Name表示設(shè)備的名稱  
  12. //各屬性的標(biāo)識(shí)見聯(lián)機(jī)的MSDN里,Win32andCOMDevelopment下的WMI。  
  13. //如http://msdn.microsoft.com/en-us/library/aa394173(VS.85).aspx  
  14. try 
  15. {  
  16. stringstrType=disk["DriveType"].ToString();  
  17. switch(strType)//類型  
  18. {  
  19. case"0":  
  20. item.SubItems.Add("未知設(shè)備");  
  21. break;  
  22. case"1":  
  23. item.SubItems.Add("未分區(qū)");  
  24. break;  
  25. case"2":  
  26. item.SubItems.Add("可移動(dòng)磁盤");  
  27. break;  
  28. case"3":  
  29. item.SubItems.Add("硬盤");  
  30. break;  
  31. case"4":  
  32. item.SubItems.Add("網(wǎng)絡(luò)驅(qū)動(dòng)器");  
  33. break;  
  34. case"5":  
  35. item.SubItems.Add("光驅(qū)");  
  36. break;  
  37. case"6":  
  38. item.SubItems.Add("內(nèi)存磁盤");  
  39. break;  
  40. }  
  41. }  
  42. catch 
  43. {  
  44. item.SubItems.Add("設(shè)備未準(zhǔn)備好");  
  45. }  
  46. try 
  47. {  
  48. item.SubItems.Add(GetSizeUseUnit(disk["Size"].ToString()));  
  49. //未用GetSizeUseUnit函數(shù)處理的Size屬性以字節(jié)為單位  
  50. }  
  51. catch 
  52. {  
  53. }  
  54. try//可移動(dòng)設(shè)備如光驅(qū)在未插入光盤時(shí)處于不可用狀態(tài),需要捕捉異常。  
  55. {  
  56. item.SubItems.Add(GetSizeUseUnit(disk["FreeSpace"].ToString()));  
  57. }  
  58. catch 
  59. {  
  60. }  
  61. try 
  62. {  
  63. item.SubItems.Add(disk["VolumeSerialNumber"].ToString());  
  64. }  
  65. catch 
  66. {  
  67. }  
  68. }  
  69. }  
  70.  
  71. //處理大小的函數(shù) 

Code  

 
 
 
  1. privatestringGetSizeUseUnit(stringsize)  
  2. {  
  3. doubledSpace=Convert.ToDouble(size);  
  4. stringsSpace=dSpace.ToString("N");  
  5. string[]tmp;  
  6. stringrtnSize="0";  
  7. tmp=sSpace.Split(',');  
  8. switch(tmp.GetUpperBound(0))  
  9. {  
  10. case0:  
  11. rtnSize=tmp[0]+"字節(jié)";  
  12. break;  
  13. case1:  
  14. rtnSize=tmp[0]+"."+tmp[1].Substring(0,2)+"K";  
  15. break;  
  16. case2:  
  17. rtnSize=tmp[0]+"."+tmp[1].Substring(0,2)+"M";  
  18. break;  
  19. case3:  
  20. rtnSize=tmp[0]+"."+tmp[1].Substring(0,2)+"G";  
  21. break;  
  22. case4:  
  23. rtnSize=tmp[0]+"."+tmp[1].Substring(0,2)+"T";  
  24. break;  
  25. }  
  26. returnrtnSize;  

3、C#獲取更多邏輯硬盤信息運(yùn)行效果

這樣我們通過托管版本的WMI就輕松獲得邏輯磁盤的相關(guān)信息。除了邏輯磁盤,我們通過WMI還可輕松獲得CPU,網(wǎng)卡等設(shè)備的信息。本代碼在WindowsXP SP2+Visual Studio 2005下編譯和調(diào)試通過。

本文來自網(wǎng)絡(luò)小筑的博客園文章《c#獲取邏輯硬盤信息》


分享題目:C#獲取邏輯硬盤更多信息方法談
網(wǎng)站地址:http://m.5511xx.com/article/cdihcop.html