Domanda

Esiste un modo semplice per verificare se la pipa denominata funziona correttamente? Voglio assicurarmi che i dati che invio dalla mia app vengano effettivamente inviati. C'è un modo semplice e veloce per ottenere un elenco di tutte le pipe nominate?

È stato utile?

Soluzione

Puoi visualizzarli con Process Explorer da sysinternals. Utilizza " Trova - > Trova handle o DLL ... " opzione e inserisci il modello " \ Device \ NamedPipe \ " ;. Ti mostrerà quali processi hanno quali pipe si aprono.

Altri suggerimenti

Prova invece quanto segue:

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

Nella console di Windows Powershell, digitare

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


Se la versione del tuo sistema operativo è superiore a Windows 7, puoi anche digitare

get-childitem \\.\pipe\

Utilizza pipelist.exe da Sysinternals.

C #:

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

Mi sono imbattuto in una funzione di Chrome che elencherà tutte le pipe con nome aperto passando a " file: //.//pipe//"

Dato che non riesco a trovare alcun riferimento a questo ed è stato molto utile per me, ho pensato di condividere.

La seconda pipe è stata interpretata da questo sito quando è stata inviata ... All'inizio sono necessarie due barre rovesciate. Quindi assicurati di utilizzare System.IO.Directory.GetFiles (@ " \\. \ Pipe \ ").

Nota che ho visto questa funzione chiamare un "personaggio illegale nel percorso". eccezione quando uno dei tubi sulla mia macchina aveva caratteri non validi. PipleList.exe ha funzionato bene, quindi sembra un bug nel codice .net di MS.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top