Armin.Engineer Ответов: 1

Получить байт из определенного процесса


Привет Я пишу этот код:

PerformanceCounter pc = new PerformanceCounter(".NET CLR Networking", "Bytes Received", "System" );

            Console.WriteLine(pc.RawValue);
            Console.ReadLine();


Почему я получаю ошибку:
System.InvalidOperationException: 'Counter is single instance, instance name 'System' is not valid for this counter category.'


Что я уже пробовал:

Я пытаюсь по этой ссылке: и не могу
c# - как контролировать использование пропускной способности сети конкретным приложением? - переполнение стека[^]

1 Ответов

Рейтинг:
0

RickZeeland

Вам, вероятно, нужно использовать другую категорию 'сетевой интерфейс', смотрите ответ здесь:
сеть-как отображать байты, полученные в секунду в C# - переполнение стека[^]
Но это не специфический процесс, к сожалению ...

Альтернативой может быть использование TCPView полезность и использование выходных данных этого, см.: TCPView для Windows - Windows Sysinternals | Microsoft Docs[^]


Thomas Daniels

5. я должен добавить, что ответ принимает первый элемент GetInstanceNames (), но когда я попробовал его, мне пришлось взять второй элемент, иначе он не сработал бы.

RickZeeland

Да, это зависит от оборудования (сетевые карты, Wi-Fi и т. д.), которое у вас есть ...

Armin.Engineer

Спасибо, но я хочу получить использование приложения, на самом деле конкретного приложения .

RickZeeland

Используйте версию командной строки TCPView, Tcpvcon и обработайте ее .CSV-вывод этого в вашей программе, удачи !

Armin.Engineer

Как я могу использовать? Я думаю, что для ссылки переполнения стека сетевого интерфейса, которую вы ввели в этой теме, мне нужно конкретное приложение, такое как мессенджер , мне нужно знать, какое имя категории и имя экземпляра я могу использовать, спасибо

RickZeeland

Нет, решение stackoverflow не подходит для конкретного применения.
Используйте версию командной строки TCPView: Tcpvcon и обработайте ее .CSV-вывод этого в вашей программе. Вы можете использовать процесс.Start () для вызова Tcpvcon из C#.

Armin.Engineer

Спасибо, но я не понимаю вашего решения , как я могу получить. CSV ? Можете ли вы просто объяснить ?

Armin.Engineer

Как я могу решить эту проблему?