Python如何调用易语言DLL

对Python能够调用天下语言一直有所耳闻,今天试试能不能调用易语言,虽说不能调用.e文件,但至少易语言生成的dll文件应该问题不大。接下来就开始调用。

 

被调用的易语言dll:

.版本 2

.子程序 get_disk_info, 文本型, 公开
.参数 disk_name, 文本型
.局部变量 used_space, 长整数型
.局部变量 use_space, 长整数型
.局部变量 total_space, 长整数型
.局部变量 return_str, 文本型

系统_取磁盘大小信息 (disk_name, used_space, use_space, total_space)
' 输出调试文本 (used_space ÷ 1024, use_space ÷ 1024, total_space ÷ 1024)
return_str = 到文本 (四舍五入 (use_space ÷ 1024, 1))

返回 (return_str)

Python所用到的库:

os;sys;ctypes;

import sys,os
from ctypes import *

def get_disk_info(disk):
    # 添加dll的搜索路径为当前目录
    os.add_dll_directory(sys.path[0])
    # 创建dll对象
    dll = CDLL('disk.dll')
    # 易语言传参是文本型,这里需要编码为utf-8
    disk = c_char_p(disk.encode('utf-8'))
    # 返回值是文本型
    info = string_at(dll.get_disk_info(disk))

    return info #96.8

 

如果不添加dll搜索路径就会报错:

FileNotFoundError: Could not find module 'disk.dll'. Try using the full path with constructor syntax.

 

 

发布了12 篇原创文章 · 获赞 0 · 访问量 248
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览