赞 | 3 |
VIP | 1 |
好人卡 | 40 |
积分 | 1 |
经验 | 93188 |
最后登录 | 2020-7-27 |
在线时间 | 1379 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 76
- 在线时间
- 1379 小时
- 注册时间
- 2012-7-5
- 帖子
- 1698
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 kuerlulu 于 2014-1-4 12:10 编辑
@Main 君对不住了....
出错原因: 开多个窗口名为'RGSS Player'的游戏窗口导致'FindWindowA'的API可能会读取失败【到不是想要的那个窗口。
后来看到夏娜("后来"是指看到相关帖子..)前辈写了个获取窗口句柄的排错方法,我也扔到了原截图存档脚本里(可点此贴:http://rpg.blue/forum.php?mod=viewthread&tid=333816查看)
再后来今天看到外国的某API脚本是这么做的:- # Get game window title from Game.ini
- ini = Win32API.new('kernel32', 'GetPrivateProfileString','PPPPLP', 'L')
- @title = "\0" * 256
- ini.call('Game', 'Title', '', @title, 256, '.\\Game.ini')
- @title.delete!("\0")
- # Set game window to an instance variable, using the title we found.
- #
- @Main = Win32API.new('user32', 'FindWindowA', 'PP', 'L').call('RGSS Player', @title)
复制代码 # 大意是从ini里读取到游戏标题然后使用'FindWindowA'时传递这个标题参数。
表示一般情况下用后一种更简洁、、 你们就当我是水吧【喂 |
|