Loading... ## 装包 需要安装Python的ctypes库,该库允许我们调用外部DLL ```shell pip install ctypes ``` ## 示例 假设我们有一个名为example.dll的易语言DLL文件,其中包含一个名为add的函数,用于将两个整数相加并返回结果。现在,我们将展示如何通过Python调用该DLL。 首先,我们需要导入ctypes库,并创建一个DLL对象,指定DLL文件的路径: ```python import ctypes dll = ctypes.WinDLL('example.dll') ``` 接下来,我们需要定义DLL函数的参数类型和返回类型。在本例中,add函数接受两个整数作为参数,并返回一个整数。我们可以使用ctypes库的c_int类型来表示整数: ```python dll.add.argtypes = [ctypes.c_int, ctypes.c_int] dll.add.restype = ctypes.c_int ``` 现在,我们可以调用add函数了。假设我们要将5和3相加,我们可以这样做: ```python result = dll.add(5, 3) print(result) # 输出:8 ``` 这样,我们就成功地通过Python调用了易语言DLL中的函数。 ## 案例2。 下载文件,将后缀txt改成dll然后放在Python文件一个目录里面运行 <div class="hideContent">此处内容需要评论回复后(审核通过)方可阅读。</div> ```python from ctypes import (POINTER, cdll, c_char_p, pointer) __library = cdll.LoadLibrary('./GetEncrypt-64bit.dll') getConfirmationKey = __library.getCrypt getConfirmationKey.argtypes = [c_char_p, c_char_p] getConfirmationKey.restype = c_char_p args = ["conf", "details", "cancel", "allow"] for c in args: res = getConfirmationKey("1670667900".encode("utf-8"), c.encode("utf-8")) print(res.decode("utf-8")) ``` ## 运行的结果: JKQa1xm3Y6eDe+qXUtpdzqtpVqU= uS3riLSoh0v9ufpRmIUDoxpItdo= Jt5s/5OKGiqx9wDelbfv/OgzWYM= wfSNv8f0h7ZlGG1j889ze0XuzdQ= 最后修改:2023 年 08 月 14 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏