设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2205|回复: 7
打印 上一主题 下一主题

[已经解决] 请教下dl的具体调用方法l

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
164 小时
注册时间
2010-6-19
帖子
289
跳转到指定楼层
1
发表于 2011-8-30 10:24:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看到每个dll调用好像有一些不同,今天来请教一下。

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42399
在线时间
7602 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

2
发表于 2011-8-30 10:43:08 | 只看该作者
怎么不同,不都是Win32API么?
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
164 小时
注册时间
2010-6-19
帖子
289
3
 楼主| 发表于 2011-8-30 10:45:09 | 只看该作者
fux2 发表于 2011-8-30 10:43
怎么不同,不都是Win32API么?

最后面的那个参数
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42399
在线时间
7602 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

4
发表于 2011-8-30 10:46:35 | 只看该作者
zx16589042 发表于 2011-8-30 10:45
最后面的那个参数

那是DLL的作者设定的,没有固定方法.
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
164 小时
注册时间
2010-6-19
帖子
289
5
 楼主| 发表于 2011-8-30 10:47:41 | 只看该作者
fux2 发表于 2011-8-30 10:46
那是DLL的作者设定的,没有固定方法.

不知道这论坛上有名制作DLL的教程?
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42399
在线时间
7602 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

6
发表于 2011-8-30 10:48:21 | 只看该作者
zx16589042 发表于 2011-8-30 10:47
不知道这论坛上有名制作DLL的教程?

你可以把论坛名读100遍么?
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
100
在线时间
169 小时
注册时间
2007-8-12
帖子
203
7
发表于 2011-8-30 11:03:32 | 只看该作者
Win32API.new("DLL名","函数名","参数列表","返回值类型")
参数列表和返回值类型可以是:
i 整形 int
l 长整型 long
p 指针
常用的就这3个了……
举例:
gwt = Win32API.new("user32","GetWindowText","lpl","l")
s = " "*256
gwt.call hwnd,s,255

点评

调用gwt函数  发表于 2011-8-30 15:37
gwt.call hwnd,s,255 这句呢?  发表于 2011-8-30 14:36
生成字符串缓冲区s 调用gwt函数  发表于 2011-8-30 11:21
没救了  发表于 2011-8-30 11:16
最后两行什么意思?  发表于 2011-8-30 11:07
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
164 小时
注册时间
2010-6-19
帖子
289
8
 楼主| 发表于 2011-8-31 11:05:23 | 只看该作者
本帖最后由 zx16589042 于 2011-8-31 11:09 编辑
心雪 发表于 2011-8-30 11:03
Win32API.new("DLL名","函数名","参数列表","返回值类型")
参数列表和返回值类型可以是:
i 整形 int


哦,昨天看了个API入门教程基本懂了些
参数列表在API手册上有,有多少就有多少个“i”或”l“或”v“或”p“
i 和l差不多只是空间大小不同,v就是没有
前面只Win32API.new相当于初始化,主要的是call
call的数量等于参数列表的数量
gwt.call(hwnd,s,255) 加个括号还是好理解点。。
你调用的这个函数应该是
把GetWindowText 拆开应该是Get、Window、Text
意思是
Get = ”获取“
Window = ”窗口“
Text = "内容"
就应该是”获取窗口内容“
整理下应该是获得窗口标题吧






zx16589042于2011-9-1 12:03补充以下内容:
最后问句,那个参数类型应该用“i”或“l”或“v”或“p”中哪个
如参数类型是 string 应该用“p”
Long 应该用 “i”或“l”  (这个不怎么好判断{:4_145:})
应该还有其他类型你可以讲一下吗?

点评

翻译对了不错……不过有的API名字不能这样直接翻译啊……比如GetWindowLong直接翻译过来就是获取窗口长度……  发表于 2011-8-31 13:53
你已经天下无敌了,拆词加翻译。  发表于 2011-8-31 12:15
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 10:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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