查看: 2112|回复: 6

[已经解决] API查找窗口无效?

  [复制链接]

老黄鸡

梦石
4
星屑
45793
在线时间
7956 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2011-1-22 12:50:25 | 显示全部楼层 |阅读模式

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

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

×
以下代码是小生尝试用于查找系统游戏“扫雷”窗口使用的代码,但不知道为何返回值一直是0?
于是请教各位大人指出我的错误……
  1. @FindWindow = Win32API.new("user32","FindWindowA",['L','P'],'L')
  2. isfind = @FindWindow.Call(0,"winmine")
  3. p isfind
复制代码

点评

API无能- -  发表于 2011-1-22 13:02
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
梦石
0
星屑
310
在线时间
953 小时
注册时间
2007-4-25
回帖
798
发表于 2011-1-22 13:21:52 | 显示全部楼层
FindWindow 的第二个参数应该是你要找的窗口的标题文字,大小写不敏感。你确定 winmine 是你要找的窗口的标题?

点评

英文版的 Windows 扫雷窗口标题应该是“Minesweeper” ~.~ 如果是中文的,那只能用宽字符版的 FindWindow 了,这意味着需要把 UTF-8 字符串转换为 UTF-16LE。  发表于 2011-1-22 13:40
也许LZ的是英文版的? =。= 不过换成“扫雷”二字,估计应该也不好使…… 个人对API也没啥研究……  发表于 2011-1-22 13:27
su@rpg.blue:~> repeat 1 fortune
Matz is nice, so we are nice.
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45793
在线时间
7956 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

 楼主| 发表于 2011-1-22 13:34:12 | 显示全部楼层
回复 苏小脉 的帖子

遍历所有窗口标题,原来扫雷的标题就是“扫雷”囧……
但是将isfind = @FindWindow.Call(0,"winmine")
改成isfind = @FindWindow.Call(0,"扫雷")
依旧无用.0.0

点评

啊咧0.0  发表于 2011-1-22 13:51
终于,还是没明白我的意思是要转码…… ToT  发表于 2011-1-22 13:46
见5楼,果然是编码问题T.T  发表于 2011-1-22 13:45
你这里是要获取窗口的句柄吧,但是目前对于窗口标题的处理显然是不对的……你可以去看看鼠标脚本里对于窗口标题的获取。  发表于 2011-1-22 13:43
啊咧?我这里本来就是获取啊,还咋获取0.0,难道是编码问题?  发表于 2011-1-22 13:37
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

梦石
0
星屑
310
在线时间
953 小时
注册时间
2007-4-25
回帖
798
发表于 2011-1-22 13:40:57 | 显示全部楼层
回复 fux2 的帖子

英文版的 Windows 扫雷窗口标题应该是“Minesweeper” ~.~ 如果是中文的,那只能用宽字符版的 FindWindow 了,这意味着需要把 UTF-8 字符串转换为 UTF-16LE。

点评

………………囧,转换什么的最复杂了……  发表于 2011-1-22 13:42
su@rpg.blue:~> repeat 1 fortune
Matz is nice, so we are nice.
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
5 小时
注册时间
2011-1-12
回帖
6
发表于 2011-1-22 13:42:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
回帖
605
发表于 2011-1-22 13:46:51 | 显示全部楼层
FindWindowW

点评

当然要转编码= =||  发表于 2011-1-22 14:08
果然还是不行哦DD大人  发表于 2011-1-22 13:53
直接findwindoww也可以吗?不需要转换编码?  发表于 2011-1-22 13:52
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
5 小时
注册时间
2011-1-12
回帖
6
发表于 2011-1-22 14:02:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部