2010-09-24 2 views

ответ

12

Инструмент sysinternals, pipelist, предназначен для отображения существующих именованных труб.

4

C#:

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

редактировать: Внимание!

Этот подход может завершиться неудачей и вызвать исключение, если существующее имя канала содержит символы, которые являются незаконными для использования в именах файлов. Имена труб менее ограничительны, чем имена файлов, поэтому возможно, что какая-то труба может иметь странное имя и вызывать это исключение.

+2

это не сработало для меня. Он попытался перечислить все файлы в папке с именем '. \ Pipe' относительно текущего пути, и поскольку эта папка не существует, она выбрала исключение –

+2

Для этого кода необходим двойной обратный слэш. Ред. – RichieHindle

+1

Большое спасибо за часть предупреждения! Некоторое время мы использовали этот подход, и внезапно он потерпел неудачу на моей машине. Я понятия не имела, что случилось. Оказывается, Google Диск создал канал с именем «C: \ Users \ somethingsomething», который вызвал это. –

Смежные вопросы