循环截图问题---[已解决]
本帖最后由 m765555 于 2011-1-11 12:04 编辑各位高手们,帮我看一下这段代码:如果22行换成23到25的代码的话,为什么23-25的代码好像没有起到作用呢?如果不换的话,原代码有个漏洞,就是打开几个excel表的时候程序仍然在截图,不会自动退出,也就是我说的23-25行代码为什么换上之后没有效果,没有跳出最里面一层的循环呢?高手请指点一下,谢谢啊!!!#include <ScreenCapture.au3>
Opt("RunErrorsFatal", 0)
;(此命令说明程序运行时托盘上的图标不会显示)
Opt("TrayIconHide", 1)
;设置一个可调用某用户函数的热键。
;(此命令为按下f12程序退出)
Sleep(800)
While 1
Sleep(800)
If Not FileExists("01") Then
DirCreate("01")
EndIf
$list = WinList()
For $c=1 To $list
If StringInStr($list[$c],"工作") Or StringInStr($list[$c],"学习") Or StringInStr($list[$c],"删除") Then
Local $hBmp,$i,$ii
$ii=9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
For $i=1 To $ii
; 全屏捕获
Sleep(800)
If Not ProcessExists("EXCEL.exe") Then ContinueLoop
;If StringInStr($list[$c],"工作") Or StringInStr($list[$c],"学习") Or StringInStr($list[$c],"删除") Then
;ContinueLoop
;EndIf
$hBmp = _ScreenCapture_Capture ("")
; 保存位图到文件
_ScreenCapture_SaveImage ("01"&"\"&$i &".jpg", $hBmp)
Sleep(800)
Next
Sleep(800)
EndIf
Next
Sleep(800) 本帖最后由 _ddqs. 于 2011-1-10 14:55 编辑
循环 999999999+
没完
就不退出
ContinueLoop 在本循环内继续循环……不截 “删除”等
其他的皆屏。。。
----
不一直截才怪 本帖最后由 _ddqs. 于 2011-1-10 14:51 编辑
#include <ScreenCapture.au3>
$list = WinList()
For $c = 1 To $list
;截屏:当标题存在有 "工作"、"学习"、"删除" 等字
If StringInStr($list[$c], "工作") Or StringInStr($list[$c], "学习") Or StringInStr($list[$c], "删除") Then
$hBmp = _ScreenCapture_Capture("")
_ScreenCapture_SaveImage("01" & "\" & @YEAR & "-" & @MON & "-" & @MDAY & "_" & @HOUR & @MIN & @SEC & ".jpg", $hBmp) ;用 时间 去命名
EndIf
Next
但是如果有两个存在的话,一个符合条件,一个不符合条件,关闭了符合条件的表格后,还剩下一个不符合的表格没有关闭的话,截图仍然在进行,怎么不退出呀,就是我说的23-25行代码要是换了的话,为什么起不了作用呀 本帖最后由 _ddqs. 于 2011-1-10 14:30 编辑
;包含 "工作" 或 "学习" 或 "删除" 的不截,继续下一 循环
If StringInStr($list[$c],"工作") Or StringInStr($list[$c],"学习") Or StringInStr($list[$c],"删除") Then
ContinueLoop
Else
$hBmp = _ScreenCapture_Capture ("")
_ScreenCapture_SaveImage ("01"&"\"&$i &".jpg", $hBmp)
ExitLoop
EndIf
;包含 "工作" 或 "学习" 或 "删除" 的截图 ,并退出循环
If StringInStr($list[$c],"工作") Or StringInStr($list[$c],"学习") Or StringInStr($list[$c],"删除") Then
$hBmp = _ScreenCapture_Capture ("")
_ScreenCapture_SaveImage ("01"&"\"&$i &".jpg", $hBmp)
ExitLoop
Else
ContinueLoop
EndIf
回复 4# m765555
list()出的有隐藏的标题匹配就继续。。。 参考list()例子
; 只处理可见窗口 问题已经解决,谢谢_ddqs.的建议,多谢各位 不过http://www.autoitx.com/thread-21023-1-1.html问题一直没有解决,不知道各位有什么建议没??
页:
[1]