按键精灵制作的脚本只能在第一个游戏窗口中正常运行

只开第一个游戏窗口,测试完全正常。测试完成后,开第二个游戏窗口,再重新运行脚本,就无法检测到按键或者鼠标动作。请问这是怎么回事,如何解决?关键代码whilegetlast... 只开第一个游戏窗口,测试完全正常。测试完成后,开第二个游戏窗口,再重新运行脚本,就无法检测到按键或者鼠标动作。请问这是怎么回事,如何解决?
关键代码
while getlastkey <>27
While a <> 32770
a = WaitClick()
Wend
a=0
Delay 400
LeftClick 1

Wend
展开
 我来答
tianqing20wen

2013-03-05 · TA获得超过2.4万个赞
知道大有可为答主
回答量:8226
采纳率:88%
帮助的人:5159万
展开全部
鼠标左键也有可能是32769 再者你这关键代码 最主要是leftclick左键单击 这也不是针对某窗口的函数 它不管你窗口是哪个
你可以在循环内都用messagebox 显示下变量的值 看While a <> 32770这里是不是死循环了
更多追问追答
追问
首先非常感谢你来回答问题。
感谢提供解决问题的思路,不过问题并不存在这里,
我想要达到的就是当鼠标左键弹起的时候才继续执行下一步的动作,而32769是鼠标按下的代码,设置这个达不到我要的效果。
我上面设置的就是只要鼠标不是弹起,就一直等待,只有鼠标弹起的时候,才继续执行。只要我鼠标移出窗口外,点击从来都是正常的,只有移动到游戏窗口内才会出现这种问题。
我改过设置按键继续执行也失败
追答
Delay 400
LeftClick 1
messagebox “test”
既然你说移动窗口内才有问题 那你在leftclick下面加一个弹出窗口 看代码执行没 有执行说明是leftclick被游戏过滤了 你可以换个 按键不有多种模式么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniapprDYoopBhKD5pv
2013-02-25 · TA获得超过3007个赞
知道小有建树答主
回答量:951
采纳率:79%
帮助的人:496万
展开全部
猜的没错的话
a <> 32770

这个a是句柄的值吧,因为窗口句柄的值每次建立都是不相等的,所以你当然开第二个窗口就没效果了
更多追问追答
追问
你猜的太错了.....
那是一个循环命令,判断上次按下的鼠标键,如果按下鼠标左键,则继续执行下面的步骤;否则,继续等待鼠标命令。
请重新看下吧
追答
那你问问题就应该把要实现的功能都写全嘛 真是的,代码我写了下

do
a = WaitClick()
if a = 32770 then
Exit Do
end if
loop

a=0
Delay 400
LeftClick 1

以上代码是实现你描述的 判断鼠标是否按下功能 鼠标动作代码自己换
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式