开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1791|回复: 8
收起左侧

[完成] 来个大佬把这个dll搞个易语言调用例子

 关闭 [复制链接]
结帖率:25% (1/4)
发表于 2022-3-23 10:39:32 | 显示全部楼层 |阅读模式   黑龙江省牡丹江市
87精币
这个dll只能py和c调用。麻烦大佬搞个易语言调用的
下载链接https://wwu.lanzouw.com/iPvfY01w8uah
麻烦了大佬们

最佳答案

查看完整内容

弄好了 导出函数自己拿个工具或者看他有文件哦! 下面是头文件的部分,你自己参考怎么调用吧 编译的是MT的release 求最佳~ // 下列 ifdef 块是创建使从 DLL 导出更简单的 // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 KMBOX_DLL_EXPORTS // 符号编译的。在使用此 DLL 的 // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将 // KMBOX_DLL_API 函数视为是从 DLL 导入的,而此 DLL ...
结帖率:100% (31/31)

签到天数: 20 天

发表于 2022-3-23 10:39:33 | 显示全部楼层   浙江省杭州市
弄好了  导出函数自己拿个工具或者看他有文件哦!

下面是头文件的部分,你自己参考怎么调用吧  编译的是MT的release

求最佳~

// 下列 ifdef 块是创建使从 DLL 导出更简单的
// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 KMBOX_DLL_EXPORTS
// 符号编译的。在使用此 DLL 的
// 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
// KMBOX_DLL_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
// 符号视为是被导出的。

#define KMBOX_DLL_EXPORTS

#ifdef KMBOX_DLL_EXPORTS
#define KMBOX_DLL_API extern "C" __declspec(dllexport)
#else
#define KMBOX_DLL_API
#endif



typedef struct
{        unsigned int  Onoff;                //脚本触发方式  
        unsigned int  StartAddr;        //脚本存储位置  
        unsigned int  Length;                //脚本长度      
        unsigned int  RunCnt;                //运行次数
        int                           Exist;                //脚本是否存在
        char                   Name[12];                //脚本名称   
}script_detail_t;

typedef struct
{
        unsigned int  NewBoardFlag;// 新板标志         
        unsigned int  defaultVID;        //板卡默认的VID     
        unsigned int  defaultPID;        //板卡默认的PID            
        unsigned int  TotalSize;        //总供的存储空间   
        unsigned int  UsedSize;                //已经存储空间          
        unsigned int  NowIndex;                //当前运行的脚本编号 (切换脚本)
        script_detail_t script[5];        //五个脚本详细信息
}kmbox_t;

/**********************************************************
必须首先调用此函数才能与盒子通信
输入:   VID,PID 板子的硬件ID值,直接显示屏上可以看到
返回值:
                -1:找不到指定的VID和PID
                0:正常
是否测试:是
测试时间:20211001 by hw
*************************************************************/
KMBOX_DLL_API  int KM_init(unsigned short vid,unsigned short pid);



/**********************************************************
键盘指定按键单击函数
输入:    HID键值表
是否测试:是
测试时间:20211001 by hw
注意:由于点击上位机时,电脑焦点在上位机程序里。故键盘的输入
无法直接看到。
*************************************************************/
KMBOX_DLL_API  int KM_press(unsigned char vk_key);

/***********************************************************
键盘函数
键盘指定按键一直保持按下
输入:    HID键值表
是否测试:是
测试时间:20211001 by hw
***********************************************************/
KMBOX_DLL_API  int KM_down(unsigned char vk_key);

/***********************************************************
键盘函数
键盘指定按键抬起(配合down函数使用)
输入:    HID键值表
是否测试:是
测试时间:20211001 by hw
***********************************************************/
KMBOX_DLL_API  int KM_up(unsigned char vk_key);


/***********************************************************
键盘发送函数
直接发送键盘报告:
ctrButton:为控制键,包括左右alt,ctr,shift,window
key:按键盘的按键值,详见HID键值对应表。key最多10字节,支持10键无冲
返回值:
                -1:发送失败
                 0:发送成功
是否测试:是
测试时间:20211001 by hw
***********************************************************/
KMBOX_DLL_API  int KM_keyboard(unsigned char ctrButton,unsigned char *key);


/***********************************************************
鼠标发送函数
直接发送鼠标报告:
lmr_side:为控制键,包括鼠标左键,中键,右键
x                :鼠标X轴方向移动距离
y                :鼠标Y轴方向移动距离
wheel        :滚轮移动距离
返回值:
                -1:发送失败
                 0:发送成功
是否测试:是
测试时间:20211001 by hw
***********************************************************/
KMBOX_DLL_API  int KM_mouse(unsigned char lmr_side,short x,short y,unsigned char wheel);


/***********************************************************
鼠标左键控制 0松开 1按下
是否测试:是
测试时间:20211001 by hw
***********************************************************/
KMBOX_DLL_API  int KM_left(unsigned char vk_key);

/*
鼠标中键控制 0松开 1按下
是否测试:是
测试时间:20211001 by hw
*/
KMBOX_DLL_API  int KM_middle(unsigned char vk_key);


/*
鼠标右键键控制 0松开 1按下
是否测试:是
测试时间:20211001 by hw
*/
KMBOX_DLL_API  int KM_right(unsigned char vk_key);


/*
鼠标相对移动
x                :鼠标X轴方向移动距离
y                :鼠标Y轴方向移动距离
返回值:
                -1:发送失败
                 0:发送成功
是否测试:是
测试时间:20211001 by hw
*/
KMBOX_DLL_API  int KM_move(short x,short y);



KMBOX_DLL_API  int KM_wheel(unsigned char  w);
KMBOX_DLL_API  int KM_side1(unsigned char  w);
KMBOX_DLL_API  int KM_side2(unsigned char  w);

//获取注册码(也可当机器码使用,每个板卡唯一) outMac为16字节数组
KMBOX_DLL_API  int KM_GetRegcode(unsigned char *outMac);
/*
设置注册码skey为64字节私钥字符串,与板卡一一对应,请勿乱尝试。错误10次直接格式化所有数据。
返回值:
        0:激活失败(激活失败会统计错误次数。连续错误10次直接擦除单片机所有数据,请勿频繁尝试)
        1:激活成功(成功后永久生效,除非刷固件,激活码请找固件提供者)
        -1:密钥错误
*/
KMBOX_DLL_API int  KM_SetRegcode(char * skey);

/*
LCD显示字符。
mode 是显示模式
        0 :全屏清理(关闭显示),不会理str
        -1:滚屏显示,即str显示到最后一行,原来内容顺序上滚
        1:此模式为指定str显示在显示屏的x,y为起点的位置。
x,y:
        当mode=1时有效,其他情况无效
        x取值0-8
        y取值0-128
*/
KMBOX_DLL_API  int KM_LCDstr(int mode,char *str,int x,int y);



/*
LCD显示图片。
bmp:为一张12864的图片数据总供1KB(取模软件输出的数组)
*/
KMBOX_DLL_API int KM_LCDpic(unsigned char *bmp);


/*
擦除所有板载脚本
不包括用户数据区域。
用户区域读写请看 KM_UserData函数
*/
KMBOX_DLL_API  int KM_ERASE(void);

//读写用户数据
/*
此区域是用户数据区,总共64字节。可以存放用户自定义数据。
可用来配套上位机做软件校验。非自己加密规则的硬件设备可以拒绝服务
*/
KMBOX_DLL_API  int KM_UserData(int rw,unsigned char *buff);

//读取板卡脚本信息
KMBOX_DLL_API  int KM_Readscript(kmbox_t *km);

//设置板卡VID和PID 掉电保存
KMBOX_DLL_API  int KM_SetVIDPID(int VID,int PID);


//脱机脚本编译
/*
*name:脚本名称 最多11个字符
index:脚本组号 取值范围1-4
trigger:当前脚本触发条件  取值范围0-255. 对应鼠标上的按键。 支持按位与操作。
                常规鼠标左键是1,右键是2,中键是4,侧键1是8,侧键按2是16.
                如果触发条件是鼠标左键按下则trigger=1.左键和右键同时按下触发为:1+2=3
doneNext:脚本运行完毕之后的状态。0:暂停等待当前触发条件结束 1:循环执行当前脚本
switch:是组件切换。当有多个挡位时满足此条件自动切换到下一个挡位。取值同trigger
str   :待保存的脚本字符串。


返回值:

*/       
KMBOX_DLL_API  int KM_WriteScript(char *name,int index,int trigger,int doneNext,int Switch,char *str);


KMBOX_DLL_API  int KM_HostVidpid(int rw,unsigned int *vidpid,unsigned int *hiddid,unsigned int *mtype);

//注册授权函数
KMBOX_DLL_API  int MakeKey(char *mac,char *key);

kmbox_dll_32bit.rar

54.97 KB, 下载次数: 15, 下载积分: 精币 -1 枚

回复

使用道具 举报

签到天数: 1 天

发表于 2022-3-23 10:57:28 | 显示全部楼层   广东省广州市

没什么特别的!Dll命令声明一下,然后调用,就这样而已~
回复

使用道具 举报

结帖率:25% (1/4)

签到天数: 17 天

 楼主| 发表于 2022-3-23 14:02:53 高大上手机用户 | 显示全部楼层   黑龙江省牡丹江市
大司命 发表于 2022-3-23 10:57
没什么特别的!Dll命令声明一下,然后调用,就这样而已~

不太会啊大佬
回复

使用道具 举报

结帖率:100% (31/31)

签到天数: 20 天

发表于 2022-3-23 16:29:05 | 显示全部楼层   浙江省杭州市
咦 我刚发的东西怎么不显示
回复

使用道具 举报

结帖率:100% (31/31)

签到天数: 20 天

发表于 2022-3-23 16:29:48 | 显示全部楼层   浙江省杭州市
弄好了 导出函数自己拿个工具或者看他头文件


给分~

kmbox_dll_32bit.rar

54.97 KB, 下载次数: 6, 下载积分: 精币 -1 枚

回复

使用道具 举报

结帖率:100% (31/31)

签到天数: 20 天

发表于 2022-3-23 16:30:07 | 显示全部楼层   浙江省杭州市
有妖气 发表于 2022-3-23 16:29
弄好了 导出函数自己拿个工具或者看他头文件

Release MT版本
回复

使用道具 举报

结帖率:25% (1/4)

签到天数: 17 天

 楼主| 发表于 2022-3-23 21:59:29 高大上手机用户 | 显示全部楼层   黑龙江省牡丹江市
有妖气 发表于 2022-3-23 16:16
弄好了  导出函数自己拿个工具或者看他有文件哦!

下面是头文件的部分,你自己参考怎么调用吧  编译的是MT ...

哥 给个联系方式
回复

使用道具 举报

结帖率:100% (31/31)

签到天数: 20 天

发表于 2022-3-24 13:13:35 | 显示全部楼层   浙江省杭州市

qq120018425  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表