查看: 1692|回复: 4

[已经过期] RMXP 调用 ICOV 的方法(目前的问题是dll函数的参数)

  [复制链接]

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
回帖
3011
发表于 2011-10-17 20:24:33 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 英顺的马甲 于 2011-10-20 15:29 编辑

就是 ruby 1.8 的 iconv ,
知道要从 ruby 1.8 里的 iconv.dll 和 charset.dll 着手调用,
但却不知道如何调用,
成功调用的话就方便多了。
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到engshun@1ppl.me咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党

酱油的

梦石
0
星屑
1840
在线时间
2161 小时
注册时间
2007-12-22
回帖
3216

贵宾

发表于 2011-10-18 10:01:27 | 显示全部楼层
單純 iconv 的話,可以到置頂中找 Win32API 的實現代碼。
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复

使用道具 举报

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
回帖
3011
 楼主| 发表于 2011-10-18 11:06:55 | 显示全部楼层
Shy07 发表于 2011-10-17 21:45
你可以试试夏娜做的require so库补丁
如果要用Win32API的话,下面这些是libiconv2.dll的函数
_libiconv_ver ...

谢谢了,那些函数我都知道,但是就是不会调用,
我是 API 白痴。
还有1.03 已经可以 require so 文件了,
只是不知为啥,在我的电脑突然失效了,
头疼当中。。。

点评

如果你能告诉我那些函数需要的参数,我倒可以帮你,我实在没时间去查= =  发表于 2011-10-18 11:14
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到engshun@1ppl.me咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复

使用道具 举报

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
回帖
3011
 楼主| 发表于 2011-10-20 15:29:52 | 显示全部楼层
本帖最后由 英顺的马甲 于 2011-10-20 15:31 编辑

几天后自顶
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到engshun@1ppl.me咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复

使用道具 举报

梦石
0
星屑
50
在线时间
24 小时
注册时间
2011-10-6
回帖
17
发表于 2011-11-6 18:24:15 | 显示全部楼层
本帖最后由 木下优子 于 2011-11-6 18:26 编辑

帮顶 —^— 咱也想知道 个人提供1VIP悬赏赞助。
表示我只是来解读LZ签名的。
当你破解这个条码的时候,恭喜
但其实这毫无意义,只是一张签名图罢了
by 英顺的马甲
于是右侧真的解读出了脚本么 - - b 求脚本用途?
module MsgBox
  B_O = 0
  B_OC = 1
  B_ARI = 2
  B_YN = 4
  C_O = 1
  C_C = 2
  C_A = 3
  C_R = 4
  C_I = 5
  C_Y = 6
  C_N = 7
  CP_ACP = 0
  CP_UTF8 = 65001
  def self.u2s(text)
    m2w = Win32API.new('kernel32', 'MultiByteToWideChar', 'ilpipi', 'i')
    w2m = Win32API.new('kernel32', 'WideCharToMultiByte', 'ilpipipp', 'i')
    len = m2w.call(CP_UTF8, 0, text, -1, nil, 0);
    buf = "\0" * (len*2)
    m2w.call(CP_UTF8, 0, text, -1, buf, buf.size/2);
    len = w2m.call(CP_ACP, 0, buf, -1, nil, 0, nil, nil);
    ret = "\0" * len
    w2m.call(CP_ACP, 0, buf, -1, ret, ret.size, nil, nil);
    return ret.delete!("\000")
  end
  def self.show(msg="",title="",button=0)
    msgbox = Win32API.new('user32','MessageBox',['L', 'P', 'P', 'L'],'I')
    r, rs = msgbox.call(0, self.u2s(msg), self.u2s(title), button)
    return r
  end
end

点评

msgbox = MsgBox.show("你确定要退出吗?", "离开游戏", 1);exit if msgbox == 1  发表于 2011-11-6 19:39
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部