我确定这在某处有记录,但我找不到...
我的代码正在从另一个库中获取一个 python 对象(我无法修改),我需要在其上调用一些 win32 api 函数。
Python 从 file.fileno() 返回一些不是操作系统级句柄的东西,我的猜测是它给出了 MSVCRT 的文件号。
>>> ctypes.windll.kernel32.CreateFileA('test',0x80000000L,1,None,3,0,0)
1948 # <- HANDLE
>>> file('test','r').fileno()
4 # <- not a HANDLE
如何将其转换为真正的 win32 句柄?
最佳答案
我找到了答案:
>>> msvcrt.get_osfhandle(a.fileno())
1956 # valid HANDLE
这实际上记录在 http://docs.python.org/library/msvcrt.html 上,不知道我是怎么错过的。
关于python - 如何在 python 中获取打开文件的 win32 句柄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6135805/