我正在使用win32file.CreateFile()打开在进程资源管理器中看到的“文件”。
有问题的文件是(如在proc浏览器的句柄和dlls视图中所示):“ \ Device \ ccSet_ {}”

Q1。任何人都可以阐明什么是\Device\<file name>。我相信这些显然不是存储在某处硬盘上的文件。除非我错了,否则它们是什么?

Q2。当我尝试使用win32file.CreateFile()中的原样路径时,它给我一个错误“系统找不到指定的路径或文件”。我要去哪里错了。

Q3。给定上述文件对象的地址(同样来自proc Explorer),我可以在不指定路径的情况下读取文件吗?

我使用的单行代码是:

>>> win32file.CreateFile("Device\<filename>",w
in32con.GENERIC_READ|win32con.GENERIC_WRITE,win32con.FILE_SHARE_READ|win32con.FI
LE_SHARE_WRITE,None,win32con.OPEN_EXISTING,0,0)

最佳答案

\ Device \ XXX名称是内部Windows NT设备名称。
\\.\前缀将访问Win32设备名称空间,而不是Win32文件名称空间。例如,要打开COM10,您需要使用\\.\COM10
该句柄仅在打开它的进程内有效。

07-28 03:58