按键精灵多窗体自动审核PB指令
以下代码是实现了按键精灵自动点击 投资建议查询中的 查找按钮 ,点击审核按钮原理一样,大家自己修改即可。点击的前提是需要手工打开 投资建议查询 菜单,这样才能寻找到句柄,也可以程序自动打开该菜单,那样修改下代码即可。
恒生PB 0429G以上版本可以命令行启动, 配置上按键精灵就可以完全无人操作了
大体原理都给出来了,有问题大家交流。 具体实现代码就不给出了,大家自己实现吧
当然代码优化下 可以多线程操作,速度更快
//下面这句是按查找方式(模糊),遍历符合窗口类名(0)且标题("机构经纪投资管理")的句柄,保存到数组(HwndEx)里 欢迎加入www.jrit.club讨论
Hwndbt = Plugin.Window.Search("机构经纪投资管理")
MyArray1 = Split(Hwndbt, "|")
//将所有的窗口句柄肢解获取所有窗口句柄
If UBound(MyArray1)>=0 Then //进行循环
i=0
For UBound(MyArray1)//进行循环
//获取第一个窗口句柄 欢迎加入www.jrit.club讨论
Hwnd = Plugin.Window.FindEx(MyArray1(i), 0, 0, 0)
// 以下3句是讲窗体置前 欢迎加入www.jrit.club讨论
Call Plugin.Window.Active(Hwnd)
Call Plugin.Window.Show(Hwnd)
Call Plugin.Window.Top(Hwnd, 0)// 0 表示 是置顶 1是取消置顶 欢迎加入www.jrit.club讨论
//下面这句是查找窗口类名("Notepad")或者标题(0),返回找到的句柄Hwnd
Hwnd = Plugin.Window.Find("TfrmMain", 0)
//MsgBox "查找到的父窗口句柄为:"& Hwnd
Hwnd = Plugin.Window.FindEx(Hwnd, 0, "TPanel","")
//MsgBox "查找到的子窗口句柄为:" & Hwnd
Hwnd = Plugin.Window.FindEx(Hwnd, 0, "TRzPageControl","")
//MsgBox "查找到的子窗口句柄为:" & Hwnd
Hwnd = Plugin.Window.FindEx(Hwnd, 0, "TRzTabSheet","投资建议查询")
//MsgBox "查找到的子窗口句柄为:" & Hwnd
Hwnd = Plugin.Window.FindEx(Hwnd, 0, "TfrmEntrustApproveMain","投资建议查询")
//MsgBox "查找到的子窗口句柄为:" & Hwnd
Hwnd = Plugin.Window.FindEx(Hwnd, 0, "TfrmUnapprovedEntrustsQryFrame","")
//MsgBox "查找到的子窗口句柄为:" & Hwnd
Hwnd = Plugin.Window.FindEx(Hwnd, 0, "TPanel","pnl2")
//MsgBox "查找到的子窗口句柄为:" & Hwnd
//Hwnd = Plugin.Window.FindEx(Hwnd,0,"TPanel",0)
//MsgBox "查找到的子窗口句柄为:" & Hwnd
Dim Hwnds(99)
For n = 1 To 2
Hwnds(n) = Plugin.Window.FindEx(Hwnd, Hwnds(n - 1), "TPanel", 0)
//text=text&"第"&n&"个子句柄:"&Hwnds(n)&vbcrlf
Hwndsj=Plugin.Window.FindEx(Hwnds(n),0,"THsBitBtn","查询")
If Hwndsj>0Then
//MsgBox "sss" & Hwndsj
//得到句柄位置 欢迎加入www.jrit.club讨论
sRect = Plugin.Window.GetClientRect(Hwndsj)
MsgBox "得到窗口句柄的客户区大小为:" & sRect
dim MyArray
MyArray = Split(sRect, "|")
//下面这句将字符串转换成数值 欢迎加入www.jrit.club讨论
x = Clng(MyArray(0)) : y = Clng(MyArray(1))
//鼠标移动到相关位置左键点击 欢迎加入www.jrit.club讨论
MoveTo x, y
LeftClick(1)
End If
//text=text&Hwnds(n)&"|"
Next
i = i + 1
Next
End If
页:
[1]