Project1

标题: 用脚本控制关闭RM编辑器 [打印本页]

作者: zh99998    时间: 2009-7-11 11:30
标题: 用脚本控制关闭RM编辑器
(问题简化了)
怎么在Game.exe里用脚本控制关闭RPGXP.exe/RPGVX.exe
要关闭当前工程的那个,而不是把所有已经打开的编辑器全关掉
作者: IamI    时间: 2009-7-11 13:31
本帖最后由 IamI 于 2009-7-12 10:18 编辑

已和谐
作者: zh99998    时间: 2009-7-11 16:09
【VX会自行启动】那是什么……

然后><这个脚本没有泛用性嘛……
还有,exit是关闭Game.exe而不是RPGVX.exe

然后,能不能通过父进程的关系来查找RPGVX.exe,这样比较安全点,如果开着多个RM不会误关
作者: IamI    时间: 2009-7-11 16:18
所以我说要等人来完善……= =

今天晚上如果有空会去干的吧
另附截图一张

TT截图未命名.jpg (6.8 KB, 下载次数: 3)

TT截图未命名.jpg

作者: zh99998    时间: 2009-7-11 16:22
那个自动启动VX是启动的Game.exe……跟这个不沾边的,另一个工程里的

然后,打开目标工程可以用命令行,也就是
"RPGVX.exe game.rvproj"
不用查注册表了,直接相对路径吧
作者: zh99998    时间: 2009-7-11 21:02
4小时了,顶……
作者: 猫哥哥    时间: 2009-7-11 22:09
如果是要打开game.rxproj/game.rvproj这个文件的话,可以用ShellExecute这个API函数,系统会自己找用什么程序来打开它的,似乎= =b
作者: 一路一风尘    时间: 2009-7-12 07:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: zh99998    时间: 2009-7-12 08:31
如果是要打开game.rxproj/game.rvproj这个文件的话,可以用ShellExecute这个API函数,系统会自己找用什么程序来打开它的,似乎= =b
猫哥哥 发表于 2009-7-11 22:09

现在打开的就解决了……于是怎么关闭
作者: IamI    时间: 2009-7-12 10:17
居然引出了兽殿= =嗯,试试这个能不能关掉RMXP,不过还是按标题检索,读取ini算出标题的名字,然后向窗口丢一个WM_CLOSE
  1.   fw = Win32API.new('user32', 'FindWindow', %(p, p), 'i')
  2.   sm = Win32API.new('user32', 'PostMessageA', %(l, l, l, p), 'i')
  3.   GAME_INI_FILE = ".\\Game.ini"
  4.   val = "\0"*256
  5.   gps = Win32API.new('kernel32', 'GetPrivateProfileString',%w(p p p p l p), 'l')
  6.   gps.call("Game", "Title", "", val, 256, GAME_INI_FILE)
  7.   val.delete!("\0")
  8.   str = val + " - RPG Maker XP"
  9.   hwnd2 = fw.call(nil,str)
  10.   sm.call(hwnd2,0x12,0,nil)
  11.   
复制代码
参考:hide秀的API教程
作者: zh99998    时间: 2009-7-12 10:18
成功,谢。




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