【问题标题】:Getting a list of named pipes on Windows using win32api?使用 win32api 在 Windows 上获取命名管道列表?
【发布时间】:2018-06-30 10:05:42
【问题描述】:

您可以让您的用户安装pipelist utility,然后处理以下输出:

subprocess.check_output("pipelist", universal_newlines=True)

使用 C#,one can also do something like this

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

有没有办法使用pywin32/win32api 复制这个 C# 解决方案?

【问题讨论】:

  • FindFirstFile 和朋友 API 将接受 "\\.\pipe\" - 它甚至可以与 os.listdir 一起使用。
  • os.listdir('\\\\.\\pipe') 有效!
  • @BarmakShemirani 你是个天才,需要写一个我可以投票和接受的答案。
  • 谢谢,不过我从@AlexK 那里复制了答案!
  • @BarmakShemirani 啊。没看到他的编辑!我认为他的原始评论不包括os.listdir

标签: windows python-3.x winapi pywin32


【解决方案1】:

如评论中所述

import os
arr = os.listdir('\\\\.\\pipe')
print (arr)

【讨论】:

  • "\Device\NamedPipe" 是一个文件系统,由文件系统驱动程序 "\FileSystem\Npfs" 实现。但是,它不是一个完整的文件系统。它没有实现文件系统所期望的所有系统调用。但它确实实现了NtQueryDirectoryFile,所以它可以与WinAPI FindFirstFile等一起使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 2015-04-12
  • 1970-01-01
  • 1970-01-01
  • 2011-09-23
  • 1970-01-01
相关资源
最近更新 更多