共用方式為


HOW TO:將值寫入效能計數器

更新:2007 年 11 月

您可以藉由將計數器目前的資料列值加上正數或負數的方式,將值寫入到計數器。做法是在 PerformanceCounter 類別上使用 IncrementBy 方法。

注意事項:

加上負值會將計數器減去此數值的絕對值。例如,加上 3 會將計數器的資料列值增加三。加上 –3 會將計數器的資料列值減少三。

此外,您可以使用 IncrementDecrement 方法,將計數器的值加一或減一。這些方法的處理會比 IncrementBy 快很多。

您只能在自訂計數器上遞增值,在預設情況下,透過 PerformanceCounter 元件執行個體與系統進行的互動是限制為唯讀模式。在遞增自訂計數器之前,您必須在用來存取這個計數器的元件執行個體上,將 ReadOnly 屬性設定為 false。

注意事項:

有一些安全性限制會影響您使用效能計數器的能力。如需詳細資訊,請參閱監視效能臨界值簡介

注意事項:

Microsoft Windows NT 4.0 版並未完全支援 PerformanceCounter 類別。您可讀取系統計數器,但是您無法建立、寫入或刪除自訂計數器。

若要寫入數值至效能計數器

  1. 建立 PerformanceCounter 執行個體,並設定為與所需的分類和計數器互動。如需詳細資訊,請參閱 HOW TO:建立 PerformanceCounter 元件執行個體HOW TO:設定 PerformanceCounter 元件執行個體

  2. 使用下列方法之一寫入數值:

    若要

    呼叫此方法

    參數

    將資料列值加一

    Increment

    將資料列值減一

    Decrement

    將資料列值加上大於一的值

    IncrementBy

    正整數

    將資料列值減少大於一的值

    IncrementBy

    負整數

    將資料列值重設為任何整數,而不是增加其值

    RawValue

    正整數或負整數

    下列程式碼顯示如何以多種方式設定計數器值。此段程式碼會假設您正在使用 Windows Form 應用程式,其中包含已命名為 txtValue 的文字方塊和三個按鈕:一個按鈕會將未經處理的值加上文字方塊中所輸入的值、一個按鈕會將未經處理的值減一,而另一個按鈕則會將計數器的未經處理值設定為文字方塊中所設定的值。

    Private Sub btnIncrement_Click(ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles btnIncrement.Click
        PerformanceCounter1.ReadOnly = False
        PerformanceCounter1.IncrementBy(CLng(txtValue.Text))
    End Sub
    
    Private Sub btnDecrement_Click(ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles btnDecrement.Click
        PerformanceCounter1.ReadOnly = False
        PerformanceCounter1.Decrement()
    End Sub
    
    Private Sub btnSetValue_Click(ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles btnSetValue.Click
        PerformanceCounter1.ReadOnly = False
        PerformanceCounter1.RawValue = CLng(txtValue.Text)
    End Sub
    
     protected void btnIncrement_Click(object sender, EventArgs e)
        {
            performanceCounter1.ReadOnly = false;
            performanceCounter1.IncrementBy(long.Parse(txtValue.Text));
        }
    
        protected void btnDecrement_Click(object sender, EventArgs e)
        {
            performanceCounter1.ReadOnly = false;
            performanceCounter1.Decrement();
        }
    
        protected void btnSetValue_Click(object sender, EventArgs e)
        {
            performanceCounter1.ReadOnly = false;
            performanceCounter1.RawValue = long.Parse(txtValue.Text);
        }
    

請參閱

概念

監視效能臨界值簡介

效能計數器值擷取