100

名前付きパイプが正しく機能しているかどうかをテストする簡単な方法はありますか?アプリから送信しているデータが実際に送信されていることを確認したいと思います。名前付きパイプすべてのリストを取得するための迅速で簡単な方法はありますか?

4

8 に答える 8

106

これらは、sysinternalsのProcess Explorerで表示できます。「検索 -> ハンドルまたは DLL を検索...」オプションを使用して、パターン「\Device\NamedPipe\」を入力します。どのプロセスがどのパイプを開いているかが表示されます。

于 2008-11-03T14:39:49.277 に答える
100

Windows Powershellコンソールで、次のように入力します

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

OSのバージョンがWindows7より大きい場合は、次のように入力することもできます。
get-childitem \\.\pipe\

これにより、オブジェクトのリストが返されます。名前のみが必要な場合:

(get-childitem \\.\pipe\).FullName

(2番目の例\\.\pipe\ はPowershell 7では機能しませんが、最初の例は機能します)

于 2012-08-22T04:44:28.173 に答える
57

代わりに次のことを試してください。

String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");
于 2010-11-23T02:13:18.573 に答える
18

C#:

String[] listOfPipes = System.IO.Directory.GetFiles(@"\\.\pipe\");
于 2010-11-17T22:31:46.057 に答える
13

CMDプロンプトで:

>ver

Microsoft Windows [Version 10.0.18362.476]

>dir \\.\pipe\\
于 2019-11-27T09:23:05.803 に答える
9

2番目のパイプは、送信時にこのWebサイトによって解釈されました...最初に2つの円記号が必要です。したがって、必ずを使用してSystem.IO.Directory.GetFiles(@"\\.\pipe\")ください。

この関数呼び出しが「パスに不正な文字」をスローするのを見たことがあることに注意してください。私のマシンのパイプの1つに無効な文字が含まれている場合の例外。PipleList.exeは問題なく動作したので、MSの.NETコードのバグのようです。

于 2011-01-03T22:30:37.737 に答える