Project1

标题: 进程问题…… [打印本页]

作者: zh99998    时间: 2008-11-1 18:05
标题: 进程问题……
怎么在游戏里终止RM的进程(Game.exe的父进程)
然后重启RM并加载当前工程
不要直接调用tskill 否则如果打开了多个RM,会导致信息丢失

也就是说,执行了save_data的脚本,在RM里不能马上看到效果,结束掉RM再打开才能看到
作者: 木葬枫    时间: 2008-11-1 18:07
应该是:运行脚本―关闭工程(不保存)―再次打开么?
作者: zh99998    时间: 2008-11-1 18:16

运行脚本的时候就已经保存过了,所以不保存也不会有丢失
作者: 八云紫    时间: 2008-11-1 18:16
API 吧, 这个可以做到。

只是查不到 函数~~~~{/dk}
作者: zh99998    时间: 2008-11-1 18:18
我更查不到{/gg}
作者: 八云紫    时间: 2008-11-1 18:22
CreateProcess
ExitProcess

不过手册说 尽量少用 ExitProcess
作者: 木葬枫    时间: 2008-11-1 18:30
借个地方发问:
调用API的脚本会对MOLBOX有影响(不兼容)或导致游戏运行不畅么?
作者: zh99998    时间: 2008-11-1 18:30

怎么调用?
作者: 木葬枫    时间: 2008-11-1 18:33
呐…是“用”,不是“调用”
作者: zh99998    时间: 2008-11-1 18:33
呃……就算是吧
怎么用?
作者: 八云紫    时间: 2008-11-1 18:47
那个,为什么要重启 RM ?
作者: zh99998    时间: 2008-11-1 18:48
因为执行save_data之后在RM里看不到效果,必须重启RM才能看到
作者: dbshy    时间: 2008-11-1 19:05
ShellExecute/CreateProcess/CreateProcessAsUser
最终都是调的CreateProcess

另外还可以用
WinStationTerminateProcess

不会用去问BAIDU

PS:怎么LZ问这么怪的问题


[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: zh99998    时间: 2008-11-1 19:10
如果开了多个RM,终止进程怎么识别哪个是才是打开game.exe的进程
作者: 木葬枫    时间: 2008-11-1 19:29
进来膜拜楼上上那位曾经回答我在这里提第一个问题的神……当初我印象是“神之意志”…剑心头像……
[LINE]1,#dddddd[/LINE]
于是铭记至今……这里不是水区我没有水…我打这么多字绝对不是水……
作者: dbshy    时间: 2008-11-1 19:31
先用GetProcessIdFromName 获取ID

然后用OpenProcess 取得进程句柄

就可以终止
作者: zh99998    时间: 2008-11-1 19:32
我的意思是说,如果同时开了多个RM,那么怎么知道哪个RPGVX.exe是打开了game.exe的
作者: 水蓝    时间: 2008-11-1 20:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-11-1 20:17
以下引用zh99998于2008-11-1 11:32:59的发言:

我的意思是说,如果同时开了多个RM,那么怎么知道哪个RPGVX.exe是打开了game.exe的


API 返回的是 调用 这个 API 的RM的句柄~~~~
作者: zh99998    时间: 2008-11-1 20:45
以下引用水蓝于2008-11-1 12:16:41的发言:

其实我没懂您说什么,请您详细说一下您想要实现的效果

像一些修改数据库的脚本
最后要执行save_data的
执行完后在RM里看不到效果,并且如果保存,会让脚本做的修改失效

所以干脆save_data后,结束掉RM,然后再打开
作者: 水蓝    时间: 2008-11-1 23:06
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-11-1 23:08
关闭简单, 打开需要什么?

进程都结束了,API 可以执行么?
作者: zh99998    时间: 2008-11-1 23:19
嘛,可以的,结束的是RPGVX.exe,API是在Game.exe执行的

不过……那几个函数不会用{/gg}
作者: 八云紫    时间: 2008-11-1 23:20
以下引用zh99998于2008-11-1 15:19:41的发言:

嘛,可以的,结束的是RPGVX.exe,API是在Game.exe执行的


那么,请问, 那个进程调用 API 来执行 Game.exe 的呢??
作者: zh99998    时间: 2008-11-1 23:32
RPGVX.exe
作者: 八云紫    时间: 2008-11-1 23:33
以下引用zh99998于2008-11-1 15:32:09的发言:

RPGVX.exe


可以直接用 编辑器 的话, 就手动 开关 好了。
作者: kissye    时间: 2008-11-2 07:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: zh99998    时间: 2008-11-2 15:34
不是重开游戏,是重开RM
RPGVX.exe != game.exe
作者: zh99998    时间: 2009-6-12 08:00
- - [LINE]1,#dddddd[/LINE]版主对此帖的评论:『纯表情回复啦』,积分『-1』。这些被扣积分的一半会用于对本帖正确答案的悬赏。




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