按键精灵的几个常见操作:激活窗口、打开Excel读取数据、FindPic、等待用户输入、等待网站返回处理结果……

因工作需要,写了一个按键精灵的程序,用于实现自动登录某网站的功能,特意记录如下常见操作:

一、激活窗口

Hwnd = Plugin.Window.Find(0, "Microsoft Excel - MyTest.xls  [兼容模式]")
Call Plugin.Window.Active(Hwnd)

其中,窗口句柄参数,可以通过【抓抓】-》句柄-》选择句柄-》查看句柄信息获得。

二、打开Excel、读取数据、关闭Excel

Call Plugin.Office.OpenXls("D:\TDDOWNLOAD\MyTest.xls")
For i = 1 To 200
    // 读取数据
    Text = Plugin.Office.ReadXls(1, i, 1)
    // 其它处理
Next
Plugin.Office.CloseXls 

其中,ReadXls第一个参数为Sheet位置,第二个为行,第三个为列。

三、FindPic应用

    // 提交表单
    FindPic 0, 0, 1366, 768, "D:\TDDOWNLOAD\query.bmp", 0.9, intX, intY
    If intX > 0 and intY > 0 Then 
        MoveTo intX + 50, intY + 10
        LeftClick 1
    Else 
        MsgBox "哪儿出错了?找不到query图片!"
        Goto EndProcess
    End If

其中,query.bmp是通过【抓抓】解析得出的——这点很重要。如果你用QQ截图得出query.bmp,可能FindPic得不到你想要的结果,即便把0.9改为0.8也是如此。

四、等待用户输入验证码

因为登录网站验证码过于复杂,没有实现自动化,需要用户自己输入,验证码长度为4。等待用户输入的代码如下:

    FindPic 0, 0, 1366, 768, "D:\TDDOWNLOAD\check.bmp", 0.9, intX, intY
    If intX > 0 and intY > 0 Then 
        MoveTo intX + 80, intY + 10
        LeftClick 1
    Else 
        KeyPress "Tab", 1
    End If
    Delay 100
    key = WaitKey()
    key = WaitKey()
    key = WaitKey()
    key = WaitKey()

注意,最后四行代码,表示等待用户键盘输入4位长度验证码,然后程序接着往下走。

五、等待网站返回结果

    // 等待网站处理结果,此段代码为循环操作,直到有结果出来
    Do
        // 返回结果:有匹配,则退出当前处理
        FindPic 0, 0, 1366, 768, "D:\TDDOWNLOAD\balance.bmp", 0.9, intX, intY
        If intX > 0 and intY > 0 Then 
            Goto EndProcess
        End If

        // 返回结果:密码不对
        FindPic 0, 0, 1366, 768, "D:\TDDOWNLOAD\error.bmp", 0.9, intX, intY
        If intX > 0 and intY > 0 Then 
            MoveTo intX + 45, intY + 10
            LeftClick 1
            // 跳出循环
            Exit Do
        End If
        Delay 100
    Loop

 

按键精灵的几个常见操作:激活窗口、打开Excel读取数据、FindPic、等待用户输入、等待网站返回处理结果……

上一篇:MySQL查询未区分大小写


下一篇:css定位