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