1
我想通過ctypes加載當前的Python DLL。我可以加載它像ctypes.windll.python33,但取決於當前版本。我知道它有sys.dll手柄中的句柄,但我不知道如何轉換ctypes DLL對象中的句柄。如何獲取當前的Python DLL?
我想通過ctypes加載當前的Python DLL。我可以加載它像ctypes.windll.python33,但取決於當前版本。我知道它有sys.dll手柄中的句柄,但我不知道如何轉換ctypes DLL對象中的句柄。如何獲取當前的Python DLL?
也許更好ctypes.pythonapi?從ctypes/__init__.py
if _os.name in ("nt", "ce"):
pythonapi = PyDLL("python dll", None, _sys.dllhandle)
elif _sys.platform == "cygwin":
pythonapi = PyDLL("libpython%d.%d.dll" % _sys.version_info[:2])
else:
pythonapi = PyDLL(None)
代碼如果你想通過手柄來加載庫:
hndl = sys.dllhandle
pythondll = ctypes.CDLL('python dll', handle=hndl)
PyDLL和WINDLL子類CDll和_func_flags_屬性不同。