按键精灵如何后台实现:判断(X,Y)点的颜色,如果是,则点鼠标左键,如果否,则移动鼠标到(A,B)点?

我在网上看了按键精灵的教程,现在用的是按键精灵9的版本,尝试输入以下的命令,但不能运行。请大神帮忙看看,或者直接修改成可行的命令,谢谢!PluginHwnd=Window... 我在网上看了按键精灵的教程,现在用的是按键精灵9的版本,尝试输入以下的命令,但不能运行。请大神帮忙看看,或者直接修改成可行的命令,谢谢!

Plugin Hwnd = Window.MousePoint()
Plugin getcolor = Bkgnd.GetPixelColor(hwnd,1175,697)
Plugin s = Window.GetClientRect(hwnd)
XYArray = Split(s, "|", -1, 1)
dx = XYArray(0)
dy = XYarray(1)

i = 1
While i = 1

Call Plugin.Bkgnd.MoveTo(1175 - dx, 697 - dy)
If getcolor = 67904C Then
Plugin Bkgnd.LeftClick(hwnd,688-dx,410-dy)
Else
Call Plugin.Bkgnd.MoveTo(1033 - dx, 452 - dy)
Delay 1000
Wend
展开
 我来答
帐号已注销
2014-03-14 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6449
采纳率:69%
帮助的人:2107万
展开全部
你用的是按键精灵7的语法,要改,死循环可以用
While True
//代码
Wend
不用引入其他变量。坐标最好用绝对窗口坐标,不要用相对的运算,以免出错。
maozz
2014-03-14 · TA获得超过2037个赞
知道大有可为答主
回答量:2063
采纳率:92%
帮助的人:1240万
展开全部
Hwnd = Plugin.Window.MousePoint()
GetColor = Plugin.Bkgnd.GetPixelColor(Hwnd, 1175,697)
sRect = Plugin.Window.GetClientRect(Hwnd)
XYArray = Split(sRect, "|")
dx = XYArray(0)
dy = XYarray(1)
i = 1
While i = 1
    Call Plugin.Bkgnd.MoveTo(1175 - dx, 697 - dy)
    If getcolor = "67904C" Then 
        Call Plugin.Bkgnd.LeftClick(Hwnd, 688-dx,410-dy)
    Else 
        Call Plugin.Bkgnd.MoveTo(1033 - dx, 452 - dy)
        Delay 1000
    End If
Wend

感觉你坐标点应该是错误的.应该直接后台取坐标点

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MBB3
2014-03-15 · TA获得超过6972个赞
知道小有建树答主
回答量:674
采纳率:0%
帮助的人:445万
展开全部
为什么还要减去窗口边界?后台操作的坐标本来就是相对于窗口左上角坐标而言的,不用再减什么dx,dy
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-05-09
展开全部
你要先取窗口再来写颜色坐标判定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式