【已解决】如何获取 窗口上的部分字符、文本? 帮帮忙 谢!
本帖最后由 laomeng 于 2013-6-5 09:23 编辑Local $USB = DriveGetDrive("REMOVABLE")
If @error Then
MsgBox(4096, "信息", "没有发现可移动磁盘")
EndIf
If $USB = 16 Then
_yunxing()
Else
MsgBox(0,"信息","少于16个U盘,需要手动运行量产工具")
Run( @ScriptDir & "\sm32Xtest_V06-7.exe")
WinWaitActive("SMI Mass Production Tool","Factory Driver and HUB ")
Send("{F5}")
Exit
EndIf
Func _yunxing()
Run( @ScriptDir & "\sm32Xtest_V06-7.exe")
WinWaitActive("SMI Mass Production Tool","Factory Driver and HUB ")
Send("{F5}")
Send("{SPACE}")
EndFunc
如图 ,有办法获取图片中realdy和 pass (右上角OK 框也可以)这两个标题吗?
我想做的是 去监视 这个量产工具上面16个port是否全部量产完成,如果完成了 我再插上16个U盘然后自动进行量产 。如果在5分钟之内 没有检测到 16个U盘 那么执行
Else
MsgBox(0,"信息","少于16个U盘,需要手动运行量产工具")
Run( @ScriptDir & "\sm32Xtest_V06-7.exe")
WinWaitActive("SMI Mass Production Tool","Factory Driver and HUB ")
Send("{F5}")
Exit
EndIf
PS:量产工具 SMI SM3257ENLT上传太大了。这个工具 好象不带 自动检测和自动烧录。 因为近期 要量产一大批U盘 所以请高手帮帮忙啊!
用窗口信息工具获取不到ready 相关文本/ 真心看不懂 先围观一下~~~ 怎么觉得量产手工也很快,listview有UDF函数的,找找吧 回复 4# seniors
TKS!UDF 里面 确实有,我获取不到窗口,所以不采用之前的方法了
我想使用倒计时自动发送量产命令,但是怎么做到循环啊?如10-- 计时到0后发送一个F5 然后又从10--0 这样
以下借用了前辈的代码:#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Timers.au3>
$Window = GUICreate("工具将在以下时间刷新", 340, 194, 458, 25)
$Button = GUICtrlCreateButton("点击暂停(秒)(10)", 40, 100,270,40)
$Timer = _Timer_SetTimer($Window, 1000, "update")
GUISetState(@SW_SHOW)
Global $Check = 10
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
Case $Button
If GUICtrlRead($Button) = "暂停中" Then
$Timer = _Timer_SetTimer($Window, 1000, "update")
Else
_Timer_KillTimer($Window, $Timer)
GUICtrlSetData($Button,"暂停中")
EndIf
EndSwitch
Sleep(100)
WEnd
Func update($hWnd, $Msg, $iIDTimer, $dwTime)
$Check -= 1
GUICtrlSetData($Button, "点击暂停(" & $Check & ")"&"秒")
If $Check = 0 Then
_Timer_KillTimer($Window, $Timer)
;Run( @ScriptDir & "\sm32Xtest_V06-7.exe")
;WinWaitActive("SMI Mass Production Tool","Factory Driver and HUB")
;Send("{F5}")
EndIf
EndFunc ;==>update
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Timers.au3>
$Window = GUICreate("工具将在以下时间刷新", 340, 194, 458, 25)
$Button = GUICtrlCreateButton("点击暂停(秒)(10)", 40, 100,270,40)
GUISetState(@SW_SHOW)
Global $Check = 10
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
Case $Button
If GUICtrlRead($Button) = "点击暂停(秒)(10)" Then
$Timer = _Timer_SetTimer($Window, 1000, "update")
Else
_Timer_KillTimer($Window, $Timer)
GUICtrlSetData($Button,"点击暂停(秒)(10)")
$Check = 10
EndIf
EndSwitch
Sleep(100)
WEnd
Func update($hWnd, $Msg, $iIDTimer, $dwTime)
$Check -= 1
GUICtrlSetData($Button, "点击暂停(" & $Check & ")"&"秒")
If $Check = 0 Then
_Timer_KillTimer($Window, $Timer)
GUICtrlSetData($Button,"点击暂停(秒)(10)")
$Check = 10
;以下写你的
;Run( @ScriptDir & "\sm32Xtest_V06-7.exe")
;WinWaitActive("SMI Mass Production Tool","Factory Driver and HUB")
;Send("{F5}")
$Timer = _Timer_SetTimer($Window, 1000, "update")
EndIf
EndFunc ;==>update 学习中,收下先 回复 6# seniors
解决了 ,谢! 学习中,收下先
页:
[1]