幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1899|回复: 3

[求助]急问:rmxp能否调用外部控件

[复制链接]

2

主题

7

帖子

79

积分

②入门

积分
79
发表于 2007-7-11 11:02:26 | 显示全部楼层 |阅读模式
如何调用自己写的dll文件呢?
非常着急。。。哪位大侠帮忙
回复

使用道具 举报

122

主题

4962

帖子

74

积分

超级版主

Rank: 8Rank: 8

积分
74

声命组银赏

QQ
发表于 2007-7-11 11:23:19 | 显示全部楼层
…在这里引用一下署名为gpra8764的教程…一切版权归属原作者所有……
  1. Win32API是Ruby中一个为调用Win32 API而准备的类。
  2. 其包含以下方法:
  3. #大小写是不用我提示的,必须要注意哦
  4. Win32API.new(dllname, proc, import, export)
  5. #功能:加载名为dllname的DLL,生成DLL导出API函数中proc的对象,在import中指定proc的参数类型列表,在export中指定proc返回值的类型。这里的DLL可以存在于系统的System32(WinXP)目录下,也可以是游戏根目录。proc就是选择DLL导出函数中的一个。关于参数的类型使用下列字符串或数组来指定类型。
  6. "p" 指针
  7. "n","l" long
  8. "i" int
  9. "v" void
  10. 若import为nil,则看成是没有参数。若export为nil,则看做是没有返回值(void)。
  11. #这里就是说首字母不分大小写
  12. Win32API#call([args ...])
  13. Win32API#Call([args ...])
  14. #功能:调用“声明过”的API函数。参数和返回值与new过程中申明的一一对应。若是传递了指针,应该预先开辟出保存空间(否则内存混乱……)。
  15. 例如调用一个返回字符串的函数时应该这样:
  16. obj = Win32API.new 'dllname.dll', 'foo', 'p', 'v'
  17. arg = "\\0" * 256
  18. obj.call(arg)
  19. 传递指针数组时,应该这样处理。
  20. obj = Win32API.new 'dllname.dll', 'foo', 'p', 'v'
  21. args = ["\\0" * 256, "\\0" * 256, "\\0" * 256,]
  22. obj.call(args.pack("p3"))
复制代码

…由于某些原因…并未联系到原作者…如日后得见…还请原谅。…
回复 支持 反对

使用道具 举报

2

主题

7

帖子

79

积分

②入门

积分
79
 楼主| 发表于 2007-7-11 13:07:00 | 显示全部楼层
引用第1楼化冻于2007-07-11 11:23发表的  :
…在这里引用一下署名为gpra8764的教程…一切版权归属原作者所有……

[code]Win32API是Ruby中一个为调用Win32 API而准备的类。

其包含以下方法:
.......
感谢高手。。。
我开始试,呵呵
回复 支持 反对

使用道具 举报

2

主题

3

帖子

35

积分

②入门

积分
35
QQ
发表于 2007-9-26 19:30:52 | 显示全部楼层
恩……我想说,能调用?我想调用VB中的listview控件……可以么?
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-21 16:02 , Processed in 0.011733 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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