雷啊,程序暂停的问题。[已完成]
本帖最后由 itljl 于 2011-2-3 19:11 编辑大家可随便在自己写的GUI程序中,点一下右键(前提是这个控件有右键菜单),然后不做任何操作。
AU3程序整个就停了,包括AdlibRegister
有办法解决这个问题,不让他停吗? 给个代码看看。 回复 1# itljl
不会吧,水木那个软件安装器不是有右键菜单的吗,没这个现象呀 本帖最后由 水木子 于 2011-1-28 22:26 编辑
回复itljl
不会吧,水木那个软件安装器不是有右键菜单的吗,没这个现象呀
netegg 发表于 2011-1-28 22:17 http://www.autoitx.com/images/common/back.gif
我那个东东基本没有长时间的计算,可能体现不出来。
楼主说的这个问题我也经常遇到,不过都被我变相解决了。 跟MsgBox()一样,
加个"定时器"(一直打开)试下~~ #include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <Timers.au3>
;Global $Sec = 0
;Global $Min = 1
Local $sec = 0, $min = 1
$mainwindow = GUICreate("倒计时 ", 162, 82, 400, 300, BitOR($WS_POPUP, $WS_CLIPSIBLINGS))
$Label = GUICtrlCreateLabel("标签", 0, 0, 162, 82, $SS_BLACKFRAME, $GUI_WS_EX_PARENTDRAG) ;通过右键菜单退出-拖拽
;FileInstall("tu.jpg", @TempDir & "\") ;编译图片
;$Pic1 = GUICtrlCreatePic(@TempDir & "\tu.jpg", 0, 0, 162, 82)
$FontMin = GUICtrlCreateLabel(StringFormat('%02s', $min), 22, 2, 48, 39)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xc24343)
GUICtrlSetFont(-1, 34, 400, 0, "@黑体")
$FontD = GUICtrlCreateLabel(":", 68, 2, 48, 39)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xc24343)
GUICtrlSetFont(-1, 34, 400, 0, "@黑体")
$FontSec = GUICtrlCreateLabel(StringFormat('%02s', $sec) & ":", 90, 2, 48, 39)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(-1, 0xc24343)
GUICtrlSetFont(-1, 34, 400, 0, "@黑体")
$contextmenu = GUICtrlCreateContextMenu(3)
$Start = GUICtrlCreateMenuItem("开始", $contextmenu)
$Abort = GUICtrlCreateMenuItem("关于", $contextmenu)
GUICtrlCreateMenuItem("", $contextmenu)
$infoitem = GUICtrlCreateMenuItem("退出", $contextmenu)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3, $infoitem ; 退出
infoitem()
Case $Start
_Timer_SetTimer($mainwindow, 1000, "_UpdateStatusBarClock")
$sec = 0
$min = 1
GUICtrlSetState($start,$GUI_DISABLE)
EndSwitch
WEnd
Func _UpdateStatusBarClock($hWnd, $Msg, $iIDTimer, $dwTime)
If $sec = 0 And $min = 0 Then
_Timer_KillAllTimers($mainwindow)
GUICtrlSetState($start,$GUI_ENABLE)
Else
If $sec <= 0 Then
$sec = 60 + $sec
$min -= 1
EndIf
$sec -= 1
GUICtrlSetData($FontMin, StringFormat('%02s', $min))
GUICtrlSetData($FontSec, StringFormat('%02s', $sec))
EndIf
EndFunc ;==>_UpdateStatusBarClock
Func infoitem()
FileDelete(@TempDir & "\tu.jpg") ;删除图片
Exit
EndFunc ;==>infoitem 回复 4# 水木子
请问变相解决是怎么解决的?谢谢。 不雷,flashfxp也是一样的,传输过程中,你可以按下右键,他就不传了。 回复 6# 3mile
谢谢这样果然可以解决问题。
页:
[1]