it-swarm.com.de

Wie kann ich eine Liste aller offenen Named Pipes in Windows erhalten?

Gibt es eine einfache Möglichkeit zu testen, ob Ihre Named Pipe ordnungsgemäß funktioniert? Ich möchte sicherstellen, dass die von meiner App gesendeten Daten tatsächlich gesendet werden. Gibt es eine schnelle und einfache Möglichkeit, eine Liste aller benannten Pipes zu erhalten?

77
Doug T.

Sie können diese mit Process Explorer von sysinternals anzeigen. Verwenden Sie die Option "Find -> Find Handle or DLL ..." und geben Sie das Muster "\ Device\NamedPipe \" ein. Es zeigt Ihnen, bei welchen Prozessen welche Leitungen offen sind.

83
Rob Walker

Geben Sie in der Windows Powershell-Konsole Folgendes ein

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

get-childitem \\.\pipe\
57
Andrew Shepherd

Versuchen Sie stattdessen Folgendes:

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

Verwenden Sie pipelist.exe von Sysinternals.

41
Jay

C #:

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

Ich bin auf ein Feature in Chrome) gestoßen, das alle offenen Named Pipes auflistet, indem ich zu "file: //.//pipe//" navigiere.

Da ich anscheinend keinen Hinweis darauf finden kann und er mir sehr hilfreich war, dachte ich, ich könnte ihn teilen.

12
Daynew

Die zweite Pipe wurde bei der Übermittlung von dieser Website interpretiert ... Sie benötigen am Anfang zwei Backslashes. Verwenden Sie daher unbedingt System.IO.Directory.GetFiles (@ "\\.\Pipe \").

Beachten Sie, dass ich gesehen habe, wie dieser Funktionsaufruf "ungültige Zeichen im Pfad" ausgelöst hat. Ausnahme, wenn eine der Pipes auf meinem Computer ungültige Zeichen hatte. PipleList.exe funktionierte jedoch einwandfrei, so dass es wie ein Fehler im .net-Code von MS aussieht.

7
Vincent Lidou