Windowsで開いているすべての名前付きパイプのリストを取得するにはどうすればよいですか?
質問
名前付きパイプが正しく機能しているかどうかをテストする簡単な方法はありますか?アプリから送信するデータが実際に送信されていることを確認したい。すべての名前付きパイプのリストをすばやく簡単に取得する方法はありますか?
解決
sysinternalsの Process Explorer でこれらを表示できます。 "検索->を使用しますハンドルまたはDLLを検索..."オプションを選択し、パターン" \ Device \ NamedPipe \"を入力します。どのプロセスがどのパイプを開いているかが表示されます。
他のヒント
代わりに次を試してください:
String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");
Windows Powershellコンソールで、次のように入力します
[System.IO.Directory]::GetFiles("\\.\\pipe\\")
OSバージョンがWindows 7よりも大きい場合は、
と入力することもできます
get-childitem \\.\pipe\
Sysinternalsの pipelist.exe を使用します。
C#:
String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");
" file://.//pipe//"に移動して、開いているすべての名前付きパイプをリストするChromeの機能を見つけました
これへの参照を見つけることができないようで、それが私にとって非常に役立っているので、私は共有するかもしれないと思いました。
2番目のパイプは、送信時にこのWebサイトによって解釈されました...最初に2つのバックスラッシュが必要です。そのため、必ずSystem.IO.Directory.GetFiles(@" \\。\ pipe \")を使用してください。
この関数呼び出しが「パスに不正な文字」をスローするのを見たことがあることに注意してください。マシン上のパイプの1つに無効な文字が含まれていた場合の例外。 PipleList.exeは正常に機能しましたが、MSの.netコードのバグのようです。