PerformanceCounter corrupted (Keine Eigenschaften zur Auswahl)

  • VB.NET

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von TRiViUM.

    PerformanceCounter corrupted (Keine Eigenschaften zur Auswahl)

    Hallo zusammen,

    EDIT: Lösung: Quelle , Bild

    Post:
    Spoiler anzeigen
    Ich wollte wie in dem Titel schon beschrieben mit einer Progressbar die
    aktuelle CPU-Auslastung (Timer-Interval = 1000) anzeigen lassen.
    Das hab ich jetzt mit VB2008 genau so hinbekommen, wie unten beschrieben.

    Ich kenne nur den Weg über den PerformanceCounter

    VB.NET-Quellcode

    1. Public Class Form1
    2. Public PerformanceCounter As System.Diagnostics.PerformanceCounter
    3. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    4. 'PerformanceCounter1 die Eigenschaften zuweisen
    5. PerformanceCounter = New System.Diagnostics.PerformanceCounter
    6. PerformanceCounter.CategoryName = "Processor"
    7. PerformanceCounter.CounterName = "% Processor Time"
    8. PerformanceCounter.InstanceName = "_Total"
    9. Timer_Auslastung.Start()
    10. End Sub
    11. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer_Auslastung.Tick
    12. Dim a As Integer = Integer.Parse(Format(PerformanceCounter.NextValue))
    13. ProgressBar_Auslastung.Value = a
    14. End Sub


    Aber wenn ich das so in VB2012 kopiere, bekomm ich folgenden Fehler:

    Ausgabe
    im Direktfenster: Eine Ausnahme (erste Chance) des Typs
    "System.InvalidOperationException" ist in System.dll aufgetreten.

    Fehlermeldung: Überschrift "InvalidOperationException" wurde nicht behandelt.
    Fehlermeldung:
    Text "Indikatornamensdaten können nicht geladen werden, da ein
    ungültiger Index "" aus der Registrierung gelesen wurde."

    Option Strict ON ;)

    Habt ihr eine Ahnung, woran das liegen kann?

    Danke und Gruß
    TRiViUM

    Dieser Beitrag wurde bereits 12 mal editiert, zuletzt von „TRiViUM“ ()

    Dann nutze die deutschen Bezeichnungen. Zieh Dir mal nen PerformanceCounter (findest Du in der Toolbox) auf Deine Form und stell die Werte im PropertyDesigner ein.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Das habe ich als erstes probiert.
    Die Eigenschaften einfach dann über das Eigenschaften-Fenster eingetippt, was ich sonst mit der "alten variante" hiermit gemacht hab:

    VB.NET-Quellcode

    1. PerformanceCounter.CategoryName = "Processor"
    2. PerformanceCounter.CounterName = "% Processor Time"
    3. PerformanceCounter.InstanceName = "_Total"


    Selber Effekt, selbe fehlermeldung.


    Ich hatte ein altes Projekt in VB2008 geschrieben, da hat es gefunzt.
    hab das selbe projekt mit VB2012 geöffnet, und ich bekomm diese fehlermeldung..
    Du musst im PropertyDesigner auch von oben nach unten arbeiten. Erst CategoryName wählen, dann CounterName, dann InstanceName...
    Bilder
    • Unbenannt.jpg

      657,65 kB, 1.920×1.080, 432 mal angesehen
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    hmm...dann denke ich, dass es an VB2012 liegt, siehe Bild

    EDIT: Was ich mir dann vllt. auch noch vorstellen könnte, dass ich evtl. noch auf was verweisen müsste oder so?
    weil sonst wüsste ich nicht mehr, was das soll 8|
    Bilder
    • Unbenannt.png

      12,94 kB, 347×472, 336 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „TRiViUM“ ()

    Bei mir werden sie unter VB2012 aber angezeigt und der Counter funktioniert auch. Ich hab auch grad gegoogled, aber leider sogut wie nichts gefunden. Ich schau aber weiter. Evtl. hast Du wirklich fehlerhafte oder fehlende Daten. Hast Du denn noch VB2010 o. ä. installiert. Funktioniert es da?
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Das sieht doch schon mal gut aus, danke dafür.

    Was mich nicht so begeistert ist, dass da iwas in der Registry umgebastelt werden muss...
    Ich habe eben mal geguckt, welche Version der PerformanceCounter bei mir hat.
    Ist das bei "Sprache" das, was du meintest ? weil da steht bei keinem Element Deutsch

    Wie sieht das bei dir aus?

    EDIT: Den Haken hab ich versehentlich beim markieren rausgemacht, war aber vorher drinne.
    Bilder
    • Unbenannt.png

      48,38 kB, 722×527, 340 mal angesehen
    hm....komische sache.

    Öffne mal das fenster, was ich als bildanhang beim vorigen post angebunden hab.

    Rechtsklick auf Irgendein Element aus der ToolBox -> Elemente auswählen...
    Oben unter dem Tab .Net Framework-Komponenten mal den PerformanceCounter suchen.


    Danke
    Danke ^^
    In dem Forum wird einem wirklich geholfen ;)

    Nagut, ich probiere dann mal die Variante, die du mir zukommen lassen hast.

    Falls du es dir auch schon mal angeguckt hast, was ist hier mit gemeint:

    "Locate the compressed file in the I386 directory" ? weil es keinen Ordner im System32-Ordner gibt, der I386 heißt.
    Ja, ich sehs grade... Das bezieht sich auf die Windows-Server-Varianten.

    Hab noch was gefunden....

    blogs.msdn.com/b/oanapl/archiv…performance-counters.aspx


    Performance counters can become corrupted; so if you don't see categories in Perfmon, or they are missing counters, or names are replaces with numbers, you're probably experiencing this phenomena. To fix the issue, run the lodctr tool with the option /R from a commnd prompt with administrative privileges: LODCTR /R
    This command rebuilds the perf registry strings and info from scratch based on the current registry settings and backup INI files.


    EDIT: Noch was gefunden:

    social.msdn.microsoft.com/Foru…9e-4f09-984d-367ecb4fff25
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Hey Danke, hat funktioniert ^^ ^^ ^^

    Ich danke dir :D
    Anscheind ist das wohl n bekannter fehler, darum wurde wohl diese lodctr.exe erstellt.



    Also Lösung war folgendes:
    Bilder
    • Unbenannt.png

      22,66 kB, 685×350, 316 mal angesehen

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „TRiViUM“ ()