Project1

标题: ruby 获得命令行参数谁会? [打印本页]

作者: yangff    时间: 2008-8-12 18:21
标题: ruby 获得命令行参数谁会?
就比如:
游戏运行的时候执行的是:Game.exe yangff 123456 (通过cmd执行的— —)
怎么获得yangff 123456
换句话说就是vb里的Command$获得的东西在RGSS里怎么获得。
搜了半天都没搜到,该不会获得不能吧{/dk} [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 忍者之路    时间: 2008-8-12 19:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: Defanive    时间: 2008-8-12 19:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: yangff    时间: 2008-8-12 19:40
以下引用Defanive于2008-8-12 11:24:24的发言:

我也找不到。。。

MS这个问题困扰了我们很久。。。

exerb是怎么做的?
作者: hide秀    时间: 2008-8-12 20:35
exerb是怎么做的?

RGSSHD的那个GameStart.exe就是用exerb做的
ruby就是命令行操作的阿
作者: yangff    时间: 2008-8-12 20:49
以下引用hide秀于2008-8-12 12:35:18的发言:


exerb是怎么做的?

RGSSHD的那个GameStart.exe就是用exerb做的
ruby就是命令行操作的阿


[本贴由作者于 2008-8-12 12:40:04 最后编辑]

获得执行参数表
作者: 灼眼的夏娜    时间: 2008-8-12 23:08
Win32API.new("user32.dll", "MessageBox", "lppi","i").call(
0,
Win32API.new("kernel32.dll", "GetCommandLine","v","p").call(),
"",
0)
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: Defanive    时间: 2008-8-12 23:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: yangff    时间: 2008-8-13 00:03
以下引用灼眼的夏娜于2008-8-12 15:08:45的发言:


Win32API.new("user32.dll", "MessageBox", "lppi","i").call(
0,
Win32API.new("kernel32.dll", "GetCommandLine","v","p").call(),
"",
0)

虽然还有点问题,但是已经足够了这个{/qiang}收下了{/cy}
作者: 灼眼的夏娜    时间: 2008-8-13 00:20
以下引用Defanive于2008-8-12 15:56:25的发言:

夏娜现身,果然强大。。。

一来就是API。。。

那么哪个东东是最后的结果?


其实ruby默认的命令行是保存在 $* 里的,但RM启动命令行传递给Game.exe,Game.exe解析后并没有把命令行传递给rgss,所以偶简单的使用了个 winapi。。

最后的结果是 Win32API.new("kernel32.dll", "GetCommandLine","v","p"). 这里。
但这个API返回的是一个指针,需要自己处理下。= =
作者: yangff    时间: 2008-8-13 01:36
vb运行过去会有编码问题{/fn}
作者: orochi2k    时间: 2008-8-13 04:06
确实VB和RGSS的编码问题很假,所以干脆把2个都转了UTF8比较方便{/cy}
作者: danny8376    时间: 2008-8-13 06:04
不過在Ruby中
我比較習慣用ARGV
作者: link006007    时间: 2008-8-13 06:58
为什么要通过VB来调用 ?
然道VB有什么独特的功能?

最后膜拜下夏娜 m(_ _)m
作者: 幻獬豸    时间: 2008-8-13 13:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: yangff    时间: 2008-8-13 16:20
以下引用link006007于2008-8-12 22:58:33的发言:

为什么要通过VB来调用 ?
然道VB有什么独特的功能?

最后膜拜下夏娜 m(_ _)m


[本贴由作者于 2008-8-12 22:59:45 最后编辑]

登陆功能,输入帐号密码
运行
app.path & "\Bin\Game.exe " & user & pass
不得不变成:
app.path & "\Bin\Game.exe n%$Y$%" & user & pass




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1