Frage

Gibt es eine einfache Möglichkeit, zu prüfen, ob Ihr Named Pipe richtig funktioniert? Ich möchte sicherstellen, dass die Daten, die ich von meiner app bin das Senden tatsächlich gesendet wird. Gibt es eine schnelle und einfache Möglichkeit, eine Liste mit allen Named Pipes zu bekommen?

War es hilfreich?

Lösung

Sie können diese mit Process Explorer von Sysinternals anzuzeigen. Verwenden Sie die "Find -> Suchen Handle oder DLL ..." Option und geben Sie das Muster "\ Device \ NamedPipe \". Es wird Ihnen zeigen, welche haben Prozesse, die Rohre offen.

Andere Tipps

Versuchen Sie Folgendes statt:

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

In der Windows Powershell-Konsole Typ

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


Wenn Ihr Betriebssystem-Version größer ist als Windows 7 ist, können Sie auch eingeben

get-childitem \\.\pipe\

Verwenden Sie pipelist.exe von Sysinternals.

C #:

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

ich auf eine Funktion in Chrome gestolpert, die alle durch die Navigation öffnen Named Pipes wird auflisten zu „file: //.//pipe//“

Da kann ich keinen Hinweis auf diese scheinen zu finden, und es war sehr hilfreich für mich, ich dachte, ich teile könnten.

Das zweite Rohr wurde von dieser Website interpretiert, wenn eingereicht ... Sie müssen zwei Schrägstriche am Anfang. So stellen Sie sicher System.IO.Directory.GetFiles verwenden (@ "\\. \ Pipe \").

Beachten Sie, dass ich diese Funktion aufrufen, um eine Wurf gesehen haben ‚ungültige Zeichen in Pfad.‘ Ausnahme, wenn eines der Rohre auf meiner Maschine ungültige Zeichen hatte. PipleList.exe arbeitete ok aber, so scheint es wie ein Fehler in MS .NET-Code.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top