2010-09-24 17 views

Antwort

12

Das Tool sysinternals, pipelist, wurde entwickelt, um die vorhandenen Named Pipes aufzulisten.

4

C#:

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

edit: Achtung!

Dieser Ansatz kann fehlschlagen und eine Ausnahme auslösen, wenn ein bestehender Pipe-Name Zeichen enthält, die für die Verwendung in Dateinamen nicht zulässig sind. Pipe-Namen sind weniger restriktiv als Dateinamen, daher ist es möglich, dass einige Pipes einen seltsamen Namen haben und diese Ausnahme verursachen.

+2

es hat nicht für mich funktioniert. Es wurde versucht, alle Dateien in einem Ordner mit dem Namen '. \ Pipe' relativ zum aktuellen Pfad aufzulisten. Da dieser Ordner nicht existiert, wurde eine Ausnahme ausgelöst. –

+2

Der Code benötigte einen Doppel-Backslash. Bearbeitet. – RichieHindle

+1

Vielen Dank für den Warnteil! Wir haben diesen Ansatz für eine Weile benutzt und plötzlich ist es auf meinem Rechner gescheitert. Ich hatte keine Ahnung, was passiert ist. Es stellte sich heraus, dass Google Drive eine Pipe mit dem Namen "C: \ Users \ somethingsomething" erstellt hat, die das verursacht hat. –