Project1

标题: 【API获取窗口句柄】的两种防止出错的方式 [打印本页]

作者: kuerlulu    时间: 2014-1-4 12:06
标题: 【API获取窗口句柄】的两种防止出错的方式
本帖最后由 kuerlulu 于 2014-1-4 12:10 编辑

@Main 君对不住了....
出错原因: 开多个窗口名为'RGSS Player'的游戏窗口导致'FindWindowA'的API可能会读取失败【到不是想要的那个窗口。
后来看到夏娜("后来"是指看到相关帖子..)前辈写了个获取窗口句柄的排错方法,我也扔到了原截图存档脚本里(可点此贴:http://rpg.blue/forum.php?mod=viewthread&tid=333816查看)
再后来今天看到外国的某API脚本是这么做的:
  1.     # Get game window title from Game.ini
  2.     ini = Win32API.new('kernel32', 'GetPrivateProfileString','PPPPLP', 'L')
  3.     @title = "\0" * 256
  4.     ini.call('Game', 'Title', '', @title, 256, '.\\Game.ini')
  5.     @title.delete!("\0")
  6.     # Set game window to an instance variable, using the title we found.
  7.     #
  8.     @Main = Win32API.new('user32', 'FindWindowA', 'PP', 'L').call('RGSS Player', @title)
复制代码
# 大意是从ini里读取到游戏标题然后使用'FindWindowA'时传递这个标题参数。
表示一般情况下用后一种更简洁、、
你们就当我是水吧【喂  
作者: 精灵使者    时间: 2014-1-4 17:44
本帖最后由 精灵使者 于 2014-1-4 17:48 编辑

紫苏记得在api获得窗口句柄里面也专门写了个脚本什么的。
http://rpg.blue/thread-133018-1-1.html
作者: 晴兰    时间: 2014-1-5 23:03
提示: 作者被禁止或删除 内容自动屏蔽




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