我已编写如下代码与dll.i进行通信已注册此dll。
from ctypes import cdll
# give location of dll
mydll = cdll.LoadLibrary("C:\Windows\SysWOW64\zkemkeeper.dll")
ip = "172.16.16.70"
port = "4370"
mydll.Connect_Net(ip,port)
我执行它后得到以下错误。
Traceback (most recent call last):
File "C:\Python34\fetch.py", line 6, in <module>
mydll.Connect_Net(ip,port)
File "C:\Python34\lib\ctypes\__init__.py", line 364, in __getattr__
func = self.__getitem__(name)
File "C:\Python34\lib\ctypes\__init__.py", line 369, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'Connect_Net' not found
此外,我能够与此dll通信并使用PHP访问其功能。任何人都可以让我知道可能是什么问题以及如何解决它。
答案 0 :(得分:1)
试试这个Python代码段:
from win32com.client import Dispatch
zk = Dispatch("zkemkeeper.ZKEM")
ip = "172.16.16.70"
port = "4370"
zk.Connect_Net(IP_address, port)
答案 1 :(得分:0)
AttributeError: function 'Connect_Net' not found
这意味着DLL不会导出名为'Connect_Net'
的函数。也许你的名字错了,或者DLL无法以某种方式导出函数。
其他一些评论:
os.path.join
。