全部功能胜利实现!感谢高手的指点!
依据坐标取到控件句柄;以下代码可以依据坐标取到控件类别名edit
;Local $tar_Title=$wsgpjyxt, $zb1, $zb2
Func _get_ctr_id_by_zb($zb1, $zb2,$tar_Title)
Local $tPoint = DllStructCreate($tagPoint);创建一个 C/C++ 样式的数据结构供 DllCall 使用
DllStructSetData($tPoint, 1, $zb1) ;设置数据结构(struct)中部分元素的数据.
DllStructSetData($tPoint, 2, $zb2)
_WinAPI_ClientToScreen(WinGetHandle($tar_Title), $tpoint);转换客户区窗口指定点的坐标到一个屏幕坐标
$hWnd = _WinAPI_WindowFromPoint($tPoint);检索包含指定点的窗口句柄
;Local $controlid
;$controlid = _WinAPI_GetDlgCtrlID($hWnd);检索指定控件的标识符
;Return $controlid
Return $hWnd
EndFunc
逐次判断各个控件:;以下部分检测edit框值
Func GetEditd()
Local $GetEditjs
For $GetEditjs=1 To 5 Step 1
Local $js,$Getjg
$js=$js+1
$Getjg=100
Switch $js
Case 1
;第1个框
$zb1=234
$zb2=88
_get_ctr_id_by_zb($zb1, $zb2,$tar_Title);调用子程序
ControlFocus($tar_Title,"",_get_ctr_id_by_zb($zb1, $zb2,$tar_Title));设置指定控件为当前焦点
$GetdmEdit=ControlGetFocus($tar_Title)
Sleep($Getjg)
Case 2
;第2个框
$zb1=234
$zb2=124
_get_ctr_id_by_zb($zb1, $zb2,$tar_Title);调用子程序
ControlFocus($tar_Title,"",_get_ctr_id_by_zb($zb1, $zb2,$tar_Title));设置指定控件为当前焦点
$GetjgEdit=ControlGetFocus($tar_Title)
Sleep($Getjg)
Case 3
;第3个框
$zb1=234
$zb2=160
_get_ctr_id_by_zb($zb1, $zb2,$tar_Title);调用子程序
ControlFocus($tar_Title,"",_get_ctr_id_by_zb($zb1, $zb2,$tar_Title));设置指定控件为当前焦点
$GetslEdit=ControlGetFocus($tar_Title)
Sleep($Getjg)
Case 4
;股票名称框
$zb1=234
$zb2=106
_get_ctr_id_by_zb($zb1, $zb2,$tar_Title);调用子程序
ControlFocus($tar_Title,"",_get_ctr_id_by_zb($zb1, $zb2,$tar_Title));设置指定控件为当前焦点
$Getgpmc=ControlGetFocus($tar_Title)
Sleep($Getjg)
Case 5
;买入(卖出)按钮
$zb1=258
$zb2=184
_get_ctr_id_by_zb($zb1, $zb2,$tar_Title);调用子程序
ControlFocus($tar_Title,"",_get_ctr_id_by_zb($zb1, $zb2,$tar_Title));设置指定控件为当前焦点
$Getan=ControlGetFocus($tar_Title)
Sleep($Getjg)
EndSwitch
;MsgBox(262149,"测试FOR次数 :"&$js&" zb1: "&$zb1&" zb2: "&$zb2,"代码框:" & $GetdmEdit & ". 价格框:" & $GetjgEdit & ". 数量框:" & $GetslEdit & @CRLF & @CRLF &"名称框:" & $Getgpmc & ". 按钮:" & $Getan,3)
Next
;测试 ,看看5个框各是什么东东
;MsgBox(262149,"测试:","代码框:" & $GetdmEdit & ". 价格框:" & $GetjgEdit & ". 数量框:" & $GetslEdit & @CRLF & @CRLF &"名称框:" & $Getgpmc & ". 按钮:" & $Getan,3)
EndFunc
|