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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
快速掌握VB.NET獲取CPU使用率技巧

大家通過對VB.NET語言的學習,會慢慢的被這款語言強大的功能所吸引住。作為一款完全面向?qū)ο蟮恼Z言,為開發(fā)人員帶來了很多的好處。比如在處理移動設(shè)備方面,就極大的體現(xiàn)了它的作用。在這里我們就先來了解一下VB.NET獲取CPU使用率的相關(guān)應(yīng)用技巧。

API聲明

 
 
 
  1. Public Declare Function PdhVbGetOneCounterPath 
    Lib "PDH.DLL" (ByVal PathString As String,
     ByVal PathLength As Integer, ByVal DetailLevel 
    As Integer, ByVal CaptionString As String)As Integer  
  2. Public Declare Function PdhVbCreateCounterPathList 
    Lib "PDH.DLL" (ByVal PERF_DETAIL As Integer, 
    ByVal CaptionString As String) As Integer  
  3. Public Declare Function PdhVbGetCounterPathFromList 
    Lib "PDH.DLL" (ByVal Index As Integer, ByVal Buffer 
    As String, ByVal BufferLength As Integer) As Integer  
  4. Public Declare Function PdhOpenQuery Lib "PDH.DLL" 
    (ByVal Reserved As Integer, ByVal dwUserData As 
    Integer, ByRef hQuery As Integer) As PDH_STATUS  
  5. Public Declare Function PdhCloseQuery Lib "PDH.DLL" 
    (ByVal hQuery As Integer) As PDH_STATUS  
  6. Public Declare Function PdhVbAddCounter Lib "PDH.DLL" 
    (ByVal QueryHandle As Integer, ByVal CounterPath As 
    String, ByRef CounterHandle As Integer) As PDH_STATUS  
  7. Public Declare Function PdhCollectQueryData Lib 
    "PDH.DLL" (ByVal QueryHandle As Integer) As PDH_STATUS  
  8. Public Declare Function PdhVbIsGoodStatus Lib "PDH.DLL" 
    (ByVal StatusValue As Integer) As Integer  
  9. Public Declare Function PdhVbGetDoubleCounterValue Lib 
    "PDH.DLL" (ByVal CounterHandle As Integer, ByRef 
    CounterStatus As Integer) As Double 

枚舉常數(shù)

 
 
 
  1. Enum PERF_DETAIL  
  2. PERF_DETAIL_NOVICE = 100 
  3. PERF_DETAIL_ADVANCED = 200 
  4. PERF_DETAIL_EXPERT = 300 
  5. PERF_DETAIL_WIZARD = 400 
  6. End Enum  
  7. Enum PDH_STATUS  
  8. PDH_CSTATUS_VALID_DATA = &H0S  
  9. PDH_CSTATUS_NEW_DATA = &H1S  
  10. PDH_CSTATUS_NO_MACHINE = &H800007D0  
  11. PDH_CSTATUS_NO_INSTANCE = &H800007D1  
  12. PDH_MORE_DATA = &H800007D2  
  13. PDH_CSTATUS_ITEM_NOT_VALIDATED = &H800007D3  
  14. PDH_RETRY = &H800007D4  
  15. PDH_NO_DATA = &H800007D5  
  16. PDH_CALC_NEGATIVE_DENOMINATOR = &H800007D6  
  17. PDH_CALC_NEGATIVE_TIMEBASE = &H800007D7  
  18. PDH_CALC_NEGATIVE_VALUE = &H800007D8  
  19. PDH_DIALOG_CANCELLED = &H800007D9  
  20. PDH_CSTATUS_NO_OBJECT = &HC0000BB8  
  21. PDH_CSTATUS_NO_COUNTER = &HC0000BB9  
  22. PDH_CSTATUS_INVALID_DATA = &HC0000BBA  
  23. PDH_MEMORY_ALLOCATION_FAILURE = &HC0000BBB  
  24. PDH_INVALID_HANDLE = &HC0000BBC  
  25. PDH_INVALID_ARGUMENT = &HC0000BBD  
  26. PDH_FUNCTION_NOT_FOUND = &HC0000BBE  
  27. PDH_CSTATUS_NO_COUNTERNAME = &HC0000BBF  
  28. PDH_CSTATUS_BAD_COUNTERNAME = &HC0000BC0  
  29. PDH_INVALID_BUFFER = &HC0000BC1  
  30. PDH_INSUFFICIENT_BUFFER = &HC0000BC2  
  31. PDH_CANNOT_CONNECT_MACHINE = &HC0000BC3  
  32. PDH_INVALID_PATH = &HC0000BC4  
  33. PDH_INVALID_INSTANCE = &HC0000BC5  
  34. PDH_INVALID_DATA = &HC0000BC6  
  35. PDH_NO_DIALOG_DATA = &HC0000BC7  
  36. PDH_CANNOT_READ_NAME_STRINGS = &HC0000BC8  
  37. End Enum  
  38. Public Const ERROR_SUCCESS As Short = 0 
  39. Public Structure CounterInfo  
  40. Dim hCounter As Integer  
  41. Dim strName As String  
  42. End Structure 

在窗體的load事件里面添加一下語句:

 
 
 
  1. Dim pdhStatus As PDH_STATUS  
  2. pdhStatus = PdhOpenQuery
    (0, 1, hQuery)  
  3. If pdhStatus <> 
    ERROR_SUCCESS Then  
  4. MsgBox("OpenQuery failed")  
  5. End  
  6. End If 

在窗體的closed事件里面添加以下代碼

 
 
 
  1. PdhCloseQuery(hQuery) 

VB.NET獲取CPU使用率之顯示利用率信息

 
 
 
  1. Private Sub UpdateValues()  
  2. Dim dblCounterValue As Double  
  3. Dim pdhStatus As Integer  
  4. Dim strInfo As String  
  5. Dim i As Integer  
  6. PdhCollectQueryData(hQuery)  
  7. i = 0 
  8. dblCounterValue = 
    PdhVbGetDoubleCounterValue
    (Counters(i).hCounter, pdhStatus) 

將VB.NET獲取CPU使用率顯示在標簽中

 
 
 
  1. If (pdhStatus = PDH_STATUS.
    PDH_CSTATUS_VALID_DATA) or 
    (pdhStatus = PDH_STATUS.PDH_
    CSTATUS_NEW_DATA) Then  
  2. strInfo = "CPU 使用率: " & 
    VB6.Format(dblCounterValue, "0.00")  
  3. pb1.Value = dblCounterValue 
  4. Me.Text = VB6.Format(dblCounterValue,
     "0") & "% - CPU 當前狀態(tài)"  
  5. End If  
  6. Label1.Text = strInfo 
  7. End Sub 

網(wǎng)站欄目:快速掌握VB.NET獲取CPU使用率技巧
分享URL:http://www.5511xx.com/article/djijejc.html