L'obtention de 0 octets dans des résultats pour le Processus de donnée à l'aide du compteur de performance en c#

Je suis de la création d'un C# WinForm Application qui permet d'afficher l'Activité du Réseau (Octets Reçus / Octets Envoyés) pour un Processus donné (Par Exemple: nom du Processus 's chrome.exe) et la Vitesse en Mo/s générée par le Processus.

Mon application utilise le Compteur de Performance de la Classe pour obtenir le Processus des activités comme le IO Read Bytes/sec pour les octets reçus et IO Writes Bytes/sec pour les octets envoyés. Mais, il me fait 0 Octets , ce qui est très bizarre, parce que chrome.exe est en cours d'exécution et il est certainement à l'aide de quelques octets de données.

Les recherches que j'ai essayé de trouver la solution sont:

Voici un code que j'utilise :

PerformanceCounter PC = new PerformanceCounter();
PC.CategoryName = "Process";
PC.CounterName = "IO Read Bytes/sec";
PC.InstanceName = "chrome";
PC.ReadOnly = true;

Console.WriteLine("Bytes Receieved: " + Math.Round(PC.NextValue()));
PC.CounterName = "IO Write Bytes/sec";
Console.WriteLine("Bytes Sent: " + Math.Round(PC.NextValue()));

Résultats:

Bytes Received: 0
Bytes Sent: 0
+1
2019-09-17 13:02:05
source
1 réponses

Le problème, c'est l'Étiquette et IconTextMargin n'est pas la propriété de dépendance dans votre code.

Le problème est que la valeur par défaut odèle s est OneTime. La valeur de la propriété ne sera pas modifiée lorsque vous modifiez leur valeur en VisualState. Veuillez cocher IconTextButton de classe et changement ode s OneWay.

<TextBlock
    x:Name="LabelTextBlock"
    Grid.Column="2"
    Margin="{x:Bind IconTextMargin,Mode=OneWay}"
    VerticalAlignment="Center"
    AutomationProperties.AccessibilityView="Raw"
    FontSize="{x:Bind FontSize}"
    FontWeight="{x:Bind FontWeight}"
    Foreground="{x:Bind Foreground}"
    Text="{x:Bind Label, Mode=OneWay}"
    TextAlignment="Center"
    TextWrapping="Wrap" />
+2
2019-09-17 13:19:54

Voir d'autres questions sur les étiquettes