按键精灵提示下标越界.通过模糊查找出来的句柄的返回值,如何才能正确转换,近而对窗口进行操作

以上代码省略..............Sub执行下一个渲染()Rem标记2Rendering=Plugin.Window.Search("Rendering")dimM... 以上代码省略..............
Sub 执行下一个渲染()
Rem 标记2
Rendering = Plugin.Window.Search("Rendering")
dim M
M = Split(Rendering, "|")
z = M(0) //提示下标越界
R_ring = Plugin.Window.IsWindow(z)
If R_ring = 1 Then
Delay ys
Goto 标记2
Else
Goto 标记
End If
End Sub

为什么 加了 z = M(0) 才能运行正常,不然一直在标记2内循环,
另外Rendering的句柄会变,标题也会跟着一起变,唯一不变的只有前几个字是Rendering
展开
 我来答
maozz
2013-05-26 · TA获得超过2037个赞
知道大有可为答主
回答量:2063
采纳率:92%
帮助的人:1261万
展开全部
因为通过模糊查找到后返回的格式是"句柄|",最大可用下标是1而不是0.
M = Split(Rendering, "|")
分解开后得到的是M(0)和M(1),而M(1)返回的是空值。
如果没有找到,查找命令返回的也是空值,你只需要判断变量Rendering<>"",或者UBound(M)>=0就可以知道窗口是否找到。
更多追问追答
追问
谢谢,我还想问哈如果我控制Rendering窗口的移动等,应该怎么办?为什么模糊查找的返回句柄值,不能直接用啊!
Call Plugin.Window.Move(Rendering, 700, 85)//移动窗口 提示类型不匹配
追答
Rendering = Plugin.Window.Search("Rendering")
如果你是用的这句返回的变量值,那你没有看明白我上面说的。这个变量返回的是字符窜,肯定不能直接拿来用,你需要分解转换成整数型。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式