web-dev-qa-db-fra.com

Comment puis-je obtenir une liste de tous les canaux nommés ouverts dans Windows?

Existe-t-il un moyen simple de tester si votre pipe nommée fonctionne correctement? Je veux m'assurer que les données que j'envoie depuis mon application sont réellement envoyées. Existe-t-il un moyen rapide et facile d'obtenir une liste de tous les canaux nommés?

77
Doug T.

Vous pouvez les visualiser avec Process Explorer de sysinternals. Utilisez l'option "Rechercher -> Rechercher la poignée ou DLL ..." et entrez le modèle "\ Device\NamedPipe \". Il vous montrera quels processus ont quels tuyaux s'ouvrent.

83
Rob Walker

Dans la console Windows Powershell, saisissez

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

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

Essayez plutôt ce qui suit:

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

Utilisez pipelist.exe de Sysinternals.

41
Jay

C #:

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

Je suis tombé sur une fonctionnalité dans Chrome qui répertoriera tous les canaux nommés ouverts en naviguant vers "file: //.//pipe//"

Comme je n'arrive pas à trouver de référence à cela et que cela m'a été très utile, j'ai pensé que je pourrais partager.

12
Daynew

La deuxième pipe a été interprétée par ce site Web lors de sa soumission ... Vous avez besoin de deux barres obliques inverses au début. Assurez-vous donc d'utiliser System.IO.Directory.GetFiles (@ "\\.\Pipe \").

Notez que j'ai vu cet appel de fonction lancer un "caractères illégaux dans le chemin". exception lorsque l'un des tuyaux sur ma machine avait des caractères non valides. PipleList.exe a bien fonctionné, il semble donc que ce soit un bogue dans le code .net de MS.

7
Vincent Lidou