有没有一种简单的方法来测试您的命名管道是否正常工作?我想确保我从我的应用程序发送的数据实际上是发送的。有没有一种快速简便的方法来获取所有命名管道的列表?
答案 0 :(得分:80)
您可以使用sysinternals中的Process Explorer查看这些内容。使用“查找 - >查找句柄或DLL ...”选项并输入模式“\ Device \ NamedPipe \”。它将显示哪些进程具有哪些管道打开。
答案 1 :(得分:56)
请尝试以下方法:
String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");
答案 2 :(得分:55)
在Windows Powershell控制台中,键入
[System.IO.Directory]::GetFiles("\\.\\pipe\\")
<小时/> 如果您的操作系统版本大于Windows 7,您也可以键入
get-childitem \\.\pipe\
答案 3 :(得分:41)
使用Sysinternals的pipelist.exe。
答案 4 :(得分:16)
C#:
String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");
答案 5 :(得分:11)
我偶然发现了Chrome中的一项功能,它会通过导航到“file://.//pipe//”列出所有打开的命名管道
由于我似乎无法找到任何参考,这对我非常有帮助,我想我可能会分享。
答案 6 :(得分:7)
第二个管道在提交时由此网站解释...开头需要两个反斜杠。因此,请确保使用System.IO.Directory.GetFiles(@“\\。\ pipe \”)。
请注意,我已经看到此函数调用抛出了“路径中的非法字符”。当我的机器上的一个管道有无效字符时出现异常。 PipleList.exe工作正常,所以它似乎是MS的.net代码中的一个错误。
答案 7 :(得分:1)
在CMD
提示符下:
>ver
Microsoft Windows [Version 10.0.18362.476]
>dir \\.\pipe\\