Есть ли простой способ проверить, правильно ли работает ваш именованный канал? Я хочу, чтобы данные, которые я отправляю из своего приложения, действительно отправляются. Есть ли быстрый и простой способ получить список всех именованных каналов?
Как я могу получить список всех открытых именованных каналов в Windows?
Ответ 1
Вы можете просмотреть их с помощью Process Explorer из sysinternals. Используйте опцию "Найти → Найти ручку или DLL..." и введите шаблон "\ Device\NamedPipe". Он покажет вам, какие процессы открывают трубки.
Ответ 2
Попробуйте вместо этого:
String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");
Ответ 3
В консоли Windows Powershell введите
[System.IO.Directory]::GetFiles("\\.\\pipe\\")
Если ваша версия ОС больше, чем Windows 7, вы также можете ввести
get-childitem \\.\pipe\
Ответ 4
Используйте pipelist.exe из Sysinternals.
Ответ 5
С#:
String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");
Ответ 6
Вторая труба была интерпретирована этим веб-сайтом, когда была представлена ... Вам нужно две обратные косые черты в начале. Поэтому обязательно используйте System.IO.Directory.GetFiles(@ "\\.\Pipe \" ).
Обратите внимание, что я видел, как этот вызов функции выдает "незаконные символы в пути". исключение, когда одна из труб на моей машине имела недопустимые символы. PipleList.exe работал нормально, так что это похоже на ошибку в коде MS.net.
Ответ 7
Я наткнулся на функцию в Chrome, в которой перечислены все открытые именованные каналы, перейдя по ссылке "file://.//pipe//"
Так как я не могу найти ссылки на это, и это было очень полезно для меня, я думал, что могу поделиться.