检测窗口函数
本帖最后由 kb5077 于 2010-2-23 17:21 编辑这个很好懂,就是指定窗口出现就关闭,因为我需要检测两个窗口,所以不知道用什么函数检测最好,还有我如果在点击了开始按钮后,怎么使这个开始按钮变成灰色,还有我如果按了开始菜单后如果点退出和关闭窗口就退出程序,请求高手指点。。。
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=C:\Tools\ico\wlds.ICO
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("雨人一卡通辅助工具", 400, 217, 437, 237)
GUISetFont(10, 400, 0, "MS Sans Serif")
$Label1 = GUICtrlCreateLabel("Copyright (C) 2010.2 ", 224, 192, 172, 18)
GUICtrlSetFont(-1, 11, 800, 0, "宋体")
$Button1 = GUICtrlCreateButton("开始", 72, 72, 99, 49)
GUICtrlSetFont(-1, 16, 800, 0, "宋体")
$Button2 = GUICtrlCreateButton("退出", 232, 72, 99, 49)
GUICtrlSetFont(-1, 18, 800, 0, "宋体")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
Select
Case $nmsg = $Button1
WinSetState ( "雨人一卡通辅助工具", "", @SW_MINIMIZE )
While 1
if WinActive("音乐影视") or WinActive("视频转换") then
Sleep(1000)
WinClose("", "")
endif
WEnd
Case $nmsg = $Button2
exit
ExitLoop
EndSelect
WEnd 请求高手帮我修改下程序,小弟在此感激不尽啊。。。。现在我这程序非常费CPU啊 本帖最后由 afan 于 2010-2-23 18:20 编辑
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_Icon=C:\Tools\ico\wlds.ICO
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("雨人一卡通辅助工具", 400, 217, 437, 237)
GUISetFont(10, 400, 0, "MS Sans Serif")
$Label1 = GUICtrlCreateLabel("Copyright (C) 2010.2 ", 224, 192, 172, 18)
GUICtrlSetFont(-1, 11, 800, 0, "宋体")
$Button1 = GUICtrlCreateButton("开始", 72, 72, 99, 49)
GUICtrlSetFont(-1, 16, 800, 0, "宋体")
$Button2 = GUICtrlCreateButton("退出", 232, 72, 99, 49)
GUICtrlSetFont(-1, 18, 800, 0, "宋体")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $Button2
Exit
Case $Button1
GUICtrlSetState($Button1, $Gui_DISABLE)
WinSetState("雨人一卡通辅助工具", "", @SW_MINIMIZE)
Dim $bj = 0
While 1
If $bj = 2 Then ExitLoop
$nMsg1 = GUIGetMsg()
If $nMsg1 = $Button2 Or $nMsg1 = -3 Then Exit
If WinActive("音乐影视") Or WinActive("视频转换") Then
Sleep(1000)
WinClose("", "")
$bj += 1
EndIf
WEnd
WinSetState("雨人一卡通辅助工具", "", @SW_RESTORE)
GUICtrlSetState($Button1, $Gui_ENABLE)
EndSwitch
WEnd 谢谢版主的修改,我不需要计数器,还有为什么我在点了开始变成灰色后,再点击关闭按钮或退出按钮无法退出呢? 回复 4# kb5077
计数器是因为你要关闭2个窗口(音乐影视And?or?视频转换)
3#的代码不能退出吗? 我的意思是这两个窗口可能出现N次,不是出现二次就终止循环,程序不必自动终止循环,而是由使用者不需要使用程序了自己按退出或关闭按钮退出程序。还有如果程序运行15秒都没有操作,程序可以自动退出需要修改哪里!谢谢版主指导!!! 回复 6# kb5077 #Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_Icon=C:\Tools\ico\wlds.ICO
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("雨人一卡通辅助工具", 400, 217, 437, 237)
GUISetFont(10, 400, 0, "MS Sans Serif")
$Label1 = GUICtrlCreateLabel("Copyright (C) 2010.2 ", 224, 192, 172, 18)
GUICtrlSetFont(-1, 11, 800, 0, "宋体")
$Button1 = GUICtrlCreateButton("开始", 72, 72, 99, 49)
GUICtrlSetFont(-1, 16, 800, 0, "宋体")
$Button2 = GUICtrlCreateButton("退出", 232, 72, 99, 49)
GUICtrlSetFont(-1, 18, 800, 0, "宋体")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $Button2
Exit
Case $Button1
$begin = TimerInit()
GUICtrlSetState($Button1, $Gui_DISABLE)
WinSetState("雨人一卡通辅助工具", "", @SW_MINIMIZE)
While 1
$nMsg1 = GUIGetMsg()
If $nMsg1 = $Button2 Or $nMsg1 = -3 Or TimerDiff($begin) >= 15000 Then Exit
If WinActive("音乐影视") Or WinActive("视频转换") Then
Sleep(1000)
WinClose("", "")
EndIf
WEnd
EndSwitch
WEnd 回复 7# afan
学习了 留下记号 如果内容改变怎么弄呢 比如flash 产生一个类是豆丁网的遮罩 呵呵,学习一下。。 向你楼主们学习了:face (33):
页:
[1]