开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

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

[已解决] 易语言引用api, 参数是一个数据结构。如何引用?

 关闭 [复制链接]
结帖率:99% (269/273)
发表于 2015-1-7 23:37:32 | 显示全部楼层 |阅读模式   广东省广州市
10精币
WaitForDebugEvent  这个api函数  第一个DEBUG_EVENT 参数是一个结构体。  查msdn 如图所示。像这样的结构体  易语言 如何定义?
结构体.jpg

最佳答案

查看完整内容

[e=0].版本 2 .DLL命令 WaitForDebugEvent, 逻辑型, "kernel32", "WaitForDebugEvent", 公开, BOOL WINAPI WaitForDebugEvent;用于等待调试进程发生调试事件 .参数 lpDebugEvent, DEBUG_EVENT, 传址, _Out_ LPDEBUG_EVENT lpDebugEvent, .参数 dwMilliseconds, 整数型, , _In_ DWORD dwMilliseconds,单位是毫秒,如果这段时间内没有调试事件发生,则返回调用者;如果设置为-1,表示一直等待直到调试事件发生 .DLL命令 DebugA ...

求助知识:请将问题描述清楚,最好把你有问题的源码打包上传上来,这样更方便大家帮助你。
友情提醒:本版被采纳的主题可在 申请荣誉值 帖子申请荣誉值,获得 3点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。

结帖率:100% (1/1)
发表于 2015-1-7 23:37:33 | 显示全部楼层   河南省焦作市
  
DLL命令名返回值类型公开备 注
WaitForDebugEvent逻辑型 BOOL WINAPI WaitForDebugEvent;用于等待调试进程发生调试事件
DLL库文件名:
kernel32
在DLL库中对应命令名:
WaitForDebugEvent
参数名类 型传址数组备 注
lpDebugEventDEBUG_EVENT_Out_ LPDEBUG_EVENT lpDebugEvent,
dwMilliseconds整数型_In_ DWORD dwMilliseconds,单位是毫秒,如果这段时间内没有调试事件发生,则返回调用者;如果设置为-1,表示一直等待直到调试事件发生
DLL命令名返回值类型公开备 注
DebugActiveProcess逻辑型 BOOL WINAPI DebugActiveProcess;将调试器捆绑到一个正在运行的进程上
DLL库文件名:
kernel32
在DLL库中对应命令名:
DebugActiveProcess
参数名类 型传址数组备 注
dwProcessId整数型_In_ DWORD dwProcessId,
数据类型名公开备 注
DEBUG_EVENT 
成员名类 型传址数组备 注
DebugEventCode整数型 调试事件的类型
ProcessId整数型 进程标识符
ThreadId整数型 线程标识符

评分

参与人数 1荣誉 +3 收起 理由
笨潴 + 3 热心帮助他人,荣誉+3,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:100% (4/4)
发表于 2015-1-8 00:05:00 | 显示全部楼层   香港特别行政区湾仔区
回复

使用道具 举报

结帖率:99% (269/273)
 楼主| 发表于 2015-1-8 00:32:46 | 显示全部楼层   广东省广州市
这样的数据结构  还的取出里面的数据。   你那个参数是整数性,难道是这个结构体的地址,如果是地址的话  数据取出来就麻烦了。
回复

使用道具 举报

结帖率:100% (1/1)
发表于 2015-1-8 15:45:42 | 显示全部楼层   河南省焦作市
WaitForDebugEvent第一个参数设置为整数型的话,那个应该是传入一个DEBUG_EVENT数据类型的指针。
我这是个从MSDN那边直接该过来的,DEBUG_EVENT类型也声明好了。附个源码,是附加无标题记事本的~

WaitForDebugEvent.rar

133.18 KB, 下载次数: 23

QQ截图20150108154012.png
回复

使用道具 举报

结帖率:99% (269/273)
 楼主| 发表于 2015-1-8 16:51:28 | 显示全部楼层   广东省广州市
半夏时光 发表于 2015-1-8 15:45
WaitForDebugEvent第一个参数设置为整数型的话,那个应该是传入一个DEBUG_EVENT数据类型的指针。
我这是个 ...

半夏果然厉害,后面那个 union 呢,  如果要取出 这个union的信息 该怎么办呢,半夏大神
回复

使用道具 举报

结帖率:100% (1/1)
发表于 2015-1-8 17:42:32 | 显示全部楼层   河南省焦作市
最后那个成员表示的是调试时间的附加信息
这个联合体我要是能写出来,我早写了,按照我的理解,写出来的话是十几种甚至几十种自定义的数据类型,里边还有无类型指针,结构体里边套着结构体比较复杂。所以建议你根据自己的需要按需所求来定义API或者数据类型,API 数据类型翻译到易语言中也并不是一个不差一个不漏的照搬,很多地方都需要修改的~
Union是一个联合体,某一个时刻只能取其中的一个值。易语言定义数据类型的话,要对Union取每一个成员的时候都要定义一种数据类型,如果联合体有7个成员,那就要定义7种数据类型,如果其中的成员还是联合体或者结构体的话那就还得再多定义几个。我是这样理解的,很笨吧,如果你有更好的办法你可以告诉我。
对于这个的话,我还想说一点,貌似这个union取哪一个成员是根据_DEBUG_EVENT结构的第一个成员dwDebugEventCode的取值来决定的
我写了下当dwDebugEventCode取3的时候的那种情况下的数据类型

WaitForDebugEvent.rar

133.27 KB, 下载次数: 17

QQ截图20150108172852.png
QQ截图20150108173702.png
回复

使用道具 举报

结帖率:99% (269/273)
 楼主| 发表于 2015-1-8 17:53:11 | 显示全部楼层   广东省广州市
易语言调用结构体还真是麻烦事。   C语言调用非常方便,  能不能再C里面 写个模块 或者dll 封装起来 供易语言调用。我这个想法能不能实现?@半夏时光
回复

使用道具 举报

结帖率:100% (1/1)
发表于 2015-1-8 17:55:16 | 显示全部楼层   河南省焦作市
当然可以呀,期待大神吧~
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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