Как я могу получить список всех открытых именованных каналов в Windows?

StackOverflow https://stackoverflow.com/questions/258701

  •  06-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

Вы можете просмотреть их с помощью Process Explorer из sysinternals. Используйте " Найти - > Найти дескриптор или DLL ... " и введите шаблон " \ Device \ NamedPipe \ " ;. Он покажет вам, какие процессы имеют какие каналы открыты.

Другие советы

Попробуйте вместо этого следующее:

String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");

В консоли Windows Powershell введите

[System.IO.Directory]::GetFiles("\\.\\pipe\\")


Если версия вашей операционной системы выше Windows 7, вы также можете ввести

get-childitem \\.\pipe\

Используйте pipelist.exe от Sysinternals.

C#:

String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");

Я наткнулся на функцию в Chrome, которая перечислит все открытые именованные каналы, перейдя к файлу: //.//pipe//"

Так как я не могу найти какую-либо ссылку на это, и это было очень полезно для меня, я подумал, что могу поделиться.

Второй канал был интерпретирован этим веб-сайтом при отправке ... В начале вам нужны две обратные косые черты. Поэтому обязательно используйте System.IO.Directory.GetFiles (@ " \\. \ Pipe \ ").

Обратите внимание, что я видел, как этот вызов функции выбрасывал «недопустимые символы в пути». исключение, когда один из каналов на моей машине имел недопустимые символы. Хотя PipleList.exe работал нормально, поэтому похоже на ошибку в MS-коде MS.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top