Python 2.7加载DLL而python 3.5崩溃

时间:2018-02-20 14:36:33

标签: python windows ctypes dllimport

我遇到了专有dll的问题,这无法阻止我在这里发布代码。幸运的是,无论如何,问题减少到两行:

import ctypes
windll.LoadLibrary("K:\\Patch\\To\\DLL.dll")

此代码适用于Python 2.7,但不适用于Python 3.5。在3.5投掷中:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "K:\Miniconda\envs\...\lib\ctypes\__init__.py", line 429, in LoadLibrary
    return self._dlltype(name)
  File "K:\Miniconda\envs\...\lib\ctypes\__init__.py", line 351, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 1114] Eine DLL-Initialisierungsroutine ist fehlgeschlagen

(抱歉是德语。不是我的决定)

英文错误应该是:

OSError: [WinError 1114] A dynamic link library (DLL) initialization routine failed

我用&#34; C:\ Windows \ System32 \ aadtb.dll&#34;测试了我的Python 3.5解释器。并且它可以工作,因此它可以加载其他DLL。

我需要加载的DLL由第三方和封闭源提供。我们获得DLL的公司并不感到有责任感,也没有帮助。

那么我的问题归结为:Python 2.7和Python 3.5之间有什么区别?

我知道他们改变了报道错误的方式,但我找不到任何其他内容。

编辑: DLL和两个python版本都使用64位寻址。

0 个答案:

没有答案