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

Project1

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

[已经解决] 如何用RGSS运行游戏目录下的Exe文件?

 关闭 [复制链接]

Lv1.梦旅人

神之瞳

梦石
0
星屑
60
在线时间
5 小时
注册时间
2009-7-5
帖子
314
跳转到指定楼层
1
发表于 2009-8-25 19:13:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
RT,那个BB崽的那篇教程我看了,可是它是运行WINDOWS目录下的Exe文件,我要求运行游戏目录下的Exe文件……
如有回答,感激不尽……

九月三日

  有时我真不理解,怎么有另一个人能够爱她,可以爱她,殊不知我爱她爱得如此真切,如此忘情,如此情意缱倦,除了她我什么也不了解,什么也不知道,什么也没有呀!
——摘自《少年维特之烦恼》

谨以 纪念一段消逝了的感情
ILY ZXY

NOIp什么的最讨厌了!

啊……讨厌,为什么我的网盘全部坏掉了……
zoomshare恢复了,虚惊一场
可恶的skydrive,我XX你的OO,竟把我的帐号封了!

Lv4.逐梦者

梦石
1
星屑
10362
在线时间
4446 小时
注册时间
2005-10-22
帖子
7006

开拓者贵宾

2
发表于 2009-8-25 22:31:17 | 只看该作者
丢给你一个我在石器时代里用的函数

#*********************打开一个程序*************************
def sys_startsoft(a,b=2)
   runner = Win32API.new('kernel32','WinExec','pl','l')
   runner.call(a,b)
end
#**********************************************************
参数
a是文件路径
b是显示方式(0~? 自己试吧……)
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
帖子
450
3
发表于 2009-8-26 09:01:20 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

神之瞳

梦石
0
星屑
60
在线时间
5 小时
注册时间
2009-7-5
帖子
314
4
 楼主| 发表于 2009-8-26 17:01:44 | 只看该作者
本帖最后由 上帝的眼睛 于 2009-8-26 17:19 编辑

那个,板凳,那样是打开文件,不是打开Exe程序,打开的话是一堆乱码,就像用记事本打开程序一样……
另:那个如何获取游戏的路径呢?


那个,我用那个函数咋出错了呐?
a="E:\vb\sy\xiaoshizhong.exe"
Game_System.sys_startsoft(a,2)
这个是我事件里的设置
脚本我添到Game_System脚本第39行里面了

九月三日

  有时我真不理解,怎么有另一个人能够爱她,可以爱她,殊不知我爱她爱得如此真切,如此忘情,如此情意缱倦,除了她我什么也不了解,什么也不知道,什么也没有呀!
——摘自《少年维特之烦恼》

谨以 纪念一段消逝了的感情
ILY ZXY

NOIp什么的最讨厌了!

啊……讨厌,为什么我的网盘全部坏掉了……
zoomshare恢复了,虚惊一场
可恶的skydrive,我XX你的OO,竟把我的帐号封了!
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
10362
在线时间
4446 小时
注册时间
2005-10-22
帖子
7006

开拓者贵宾

5
发表于 2009-8-26 17:06:44 | 只看该作者
有这么麻烦吗?

直接 IO.popen("QQ")
把QQ.exe 放在游戏根目录不就行了。.
66rpg学习 发表于 2009-8-26 09:01


在部分实验环境下此方法发生未知的引发RMXP挂掉的情况,具体原因未明,所以就那啥了。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
6
发表于 2009-8-26 17:33:03 | 只看该作者
那个,板凳,那样是打开文件,不是打开Exe程序,打开的话是一堆乱码,就像用记事本打开程序一样……
另:那个如何获取游戏的路径呢?
4
那个,我用那个函数咋出错了呐?
a="E:\vb\sy\xiaoshizhong.exe"
Game_System.s ...
上帝的眼睛 发表于 2009-8-26 17:01

IO.popen 就是用来在子进程中运行一个命令字符串的,这个子进程的标准输入输出会被连接到函数返回的 IO 对象,所以请不要想当然……



你不需要获取游戏路径,只要把你的可执行程序放到游戏目录下,就可以通过相对路径来访问了。非要获取绝对路径的话:
  1. p Dir.getwd
复制代码



函数出错是因为你直接把二楼给出的函数放到 Game_System 的定义中,这样这个函数就成了一个实例方法,所以应该如此调用:
  1. $game_system.sys_startsoft(a,2)
复制代码
或者呢将函数定义为一个类方法(静态方法):
  1. def self.sys_startsoft(a,b=2)
  2.    runner = Win32API.new('kernel32','WinExec','pl','l')
  3.    runner.call(a,b)
  4. end
复制代码
这样才能直接通过 Game_System 类名来调用~
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
10362
在线时间
4446 小时
注册时间
2005-10-22
帖子
7006

开拓者贵宾

7
发表于 2009-8-26 17:36:30 | 只看该作者
那个,板凳,那样是打开文件,不是打开Exe程序,打开的话是一堆乱码,就像用记事本打开程序一样……
另:那个如何获取游戏的路径呢?
4
那个,我用那个函数咋出错了呐?
a="E:\vb\sy\xiaoshizhong.exe"
Game_System.s ...
上帝的眼睛 发表于 2009-8-26 17:01



直接
a ="E:\vb\sy\xiaoshizhong.exe"
sys_startsoft(a,2)

不用Game_System.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 17:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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