Вы бы кусок Вашего кода привели или написали, что Вы хотите сделать, может все в одном цикле можно сделать.у меня выходит так что в скрипте работает только один цикл. А второй запускаается только тогда когда заканчивается первый.
Вы проверьте работоспособность Вашего кода.Попробуй так - добавь циклы в функции
ZaramotВы проверьте работоспособность Вашего кода.Попробуй так - добавь циклы в функции
GUICreate("Form1", 633, 449, 192, 124)
$Input1 = GUICtrlCreateInput("", 80, 80, 409, 21)
$Input2 = GUICtrlCreateInput("", 112, 240, 433, 21)
GUISetState(@SW_SHOW)
AdlibRegister('AAA', 1)
AdlibRegister('BBB', 100)
While 1
If GUIGetMsg() = -3 Then Exit
WEnd
Func AAA()
GUICtrlSetData($Input1, Random(0, 1000000))
EndFunc
Func BBB()
GUICtrlSetData($Input2, Random(0, 1000000000))
EndFunc
AdlibRegister('Cicle1', 1)
AdlibRegister('Cicle2', 1)
Func Cicle1()
While 1
:код цикла скрипта
WEnd
EndFunc
Func Cicle2()
While 1
:код цикла меню в панели трей
WEnd
EndFunc
Попробуй так - добавь циклы в функции:
А где тут циклы в функциях?Я проверил таким образом:
#NoTrayIcon
#include <GUIConstantsEx.au3>
Opt('TrayMenuMode', 1)
$hGui = GUICreate('Test', 250, 200)
$nLabel_1 = GUICtrlCreateLabel('', 50, 10, 150, 20)
$nLabel_2 = GUICtrlCreateLabel('', 50, 40, 150, 20)
$nLabel_3 = GUICtrlCreateLabel('', 50, 80, 150, 20)
$nButton = GUICtrlCreateButton('Go', 75, 120, 100, 40)
$prefsitem = TrayCreateItem("Preferences")
TrayCreateItem("")
$aboutitem = TrayCreateItem("About")
TrayCreateItem("")
$exititem = TrayCreateItem("Exit")
TraySetState()
GUISetState()
AdlibRegister('_Label_1', 200)
AdlibRegister('_Label_2', 400)
AdlibRegister('_Label_3', 1000)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $nButton
MsgBox(64, 'Info', @ComputerName)
EndSwitch
$msg = TrayGetMsg()
Switch $msg
Case 0
ContinueLoop
Case $prefsitem
MsgBox(64, "Preferences:", "OS:" & @OSVersion)
Case $aboutitem
MsgBox(64, "About:", "AutoIt3-Tray-sample.")
Case $exititem
Exit
EndSwitch
WEnd
Func _Label_1()
GUICtrlSetData($nLabel_1, Random(100, 100000))
EndFunc ;==>_Label_1
Func _Label_2()
GUICtrlSetData($nLabel_2, Random(100000, 100000000))
EndFunc ;==>_Label_2
Func _Label_3()
GUICtrlSetData($nLabel_3, StringFormat('%02d:%02d:%02d', @HOUR, @MIN, @SEC))
EndFunc ;==>_Label_3
#NoTrayIcon
#include <GUIConstantsEx.au3>
Global $ahCallBack_1, $ahCallBack_2, $ahCallBack_3
Opt('TrayMenuMode', 1)
$hGui = GUICreate('Test', 250, 200)
$nLabel_1 = GUICtrlCreateLabel('', 50, 10, 150, 20)
$nLabel_2 = GUICtrlCreateLabel('', 50, 40, 150, 20)
$nLabel_3 = GUICtrlCreateLabel('', 50, 80, 150, 20)
$nButton = GUICtrlCreateButton('Go', 75, 120, 100, 40)
$prefsitem = TrayCreateItem("Preferences")
TrayCreateItem("")
$aboutitem = TrayCreateItem("About")
TrayCreateItem("")
$exititem = TrayCreateItem("Exit")
TraySetState()
GUISetState()
$ahCallBack_1 = _CallBack_Init('_Label_1', 200)
$ahCallBack_2 = _CallBack_Init('_Label_2', 400)
$ahCallBack_3 = _CallBack_Init('_Label_3', 1000)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $nButton
MsgBox(64, 'Info', @ComputerName)
EndSwitch
$msg = TrayGetMsg()
Switch $msg
Case 0
ContinueLoop
Case $prefsitem
MsgBox(64, "Preferences:", "OS:" & @OSVersion)
Case $aboutitem
MsgBox(64, "About:", "AutoIt3-Tray-sample.")
Case $exititem
ExitLoop
EndSwitch
WEnd
_Exit()
Func _Label_1()
GUICtrlSetData($nLabel_1, Random(100, 100000))
EndFunc ;==>_Label_1
Func _Label_2()
GUICtrlSetData($nLabel_2, Random(100000, 100000000))
EndFunc ;==>_Label_2
Func _Label_3()
GUICtrlSetData($nLabel_3, StringFormat('%02d:%02d:%02d', @HOUR, @MIN, @SEC))
EndFunc ;==>_Label_3
Func _Exit()
_CallBack_Free($ahCallBack_1)
_CallBack_Free($ahCallBack_2)
_CallBack_Free($ahCallBack_3)
Exit
EndFunc ;==>_Exit
Func _CallBack_Init($sFuncName, $iTime, $sParam = '')
Local $hCallBack = DllCallbackRegister($sFuncName, 'int', $sParam)
Local $aTimer = DllCall('user32.dll', 'uint', 'SetTimer', _
'hwnd', 0, 'uint', 0, 'int', $iTime, 'ptr', DllCallbackGetPtr($hCallBack))
Local $ahCallBack[2] = [$hCallBack, $aTimer[0]]
Return $ahCallBack
EndFunc ;==>_CallBack_Init
Func _CallBack_Free($ahCallBack)
If $ahCallBack[0] <> -1 Then DllCallbackFree($ahCallBack[0])
If $ahCallBack[1] <> -1 Then DllCall('user32.dll', 'int', 'KillTimer', 'hwnd', 0, 'uint', $ahCallBack[1])
EndFunc ;==>_CallBack_Free
посмотрите на версию своей справки, наверняка устаревшая. переходите на английскуюно именно этой не нашел.
AdlibRegister('Cicle1', 1)
AdlibRegister('Cicle2', 1)
Func Cicle1()
While 1
:код цикла скрипта
WEnd
EndFunc
Func Cicle2()
While 1
:код цикла меню в панели трей
WEnd
EndFunc
А где тут циклы в функциях?
AdlibRegister('AAA', 1) ;1 цикл
AdlibRegister('BBB', 100) ;2 цикл
Работает токо первый цикл то есть Cicle1, аа код меню не обрабатывается. ибо нажимаю на выход в панели трей и со скрипта не выходит, то есть на кнопки меню с панели трей не реагирует.
Код:AdlibRegister('Cicle1', 1) AdlibRegister('Cicle2', 1) Func Cicle1() While 1 :код цикла скрипта WEnd EndFunc Func Cicle2() While 1 :код цикла меню в панели трей WEnd EndFunc
AdlibRegister('Cicle1', 1)
AdlibRegister('Cicle2', 1)
Func Cicle1()
;код цикла скрипта
EndFunc
Func Cicle2()
;код цикла меню в панели трей
EndFunc
Вы напишите, что Вы хотите сделать конкретно, а не общие слова. Что делает (должен делать) :код цикла скрипта и :код цикла меню в панели трей.у вас у всех у функциях нет ц мклов. а мне нужны циклы в функциях.
#include <GUIConstantsEx.au3>
#Include <WinAPIEx.au3>
Opt("TrayMenuMode",3)
$about = TrayCreateItem("About")
$exit = TrayCreateItem("Выход")
GUICreate('test', 400, 200)
$nRadio1 = GUICtrlCreateRadio('aaa', 50, 20, 130, 20)
GUICtrlSetState(-1, $GUI_CHECKED)
$nRadio2 = GUICtrlCreateRadio('bbb', 50, 60, 150, 20)
$nRadio3 = GUICtrlCreateRadio('ccc', 50, 90, 100, 20)
$nButton = GUICtrlCreateButton('Go', 50, 120, 100, 40)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $nButton
If BitAND(GUICtrlRead($nRadio1), $GUI_CHECKED) Then
While 1
MsgBox(64, 'aaa', 'aaa')
WEnd
;Else
ElseIf BitAND(GUICtrlRead($nRadio2), $GUI_CHECKED) Then
While 1
MsgBox(64, 'bbb', 'bbbb')
WEnd
Else
While 1
MsgBox(64, 'ccc', 'ccc')
WEnd
EndIf
EndSwitch
WEnd
While 1
$msg = TrayGetMsg()
Select
Case $msg = 0
ContinueLoop
Case $msg = $about
Msgbox(64,"about","about")
Case $msg = $exit
ExitLoop
EndSelect
WEnd
#include <GUIConstantsEx.au3>
#Include <WinAPIEx.au3>
Opt("TrayMenuMode",3)
$about = TrayCreateItem("About")
$exit = TrayCreateItem("Выход")
GUICreate('test', 400, 200)
$nRadio1 = GUICtrlCreateRadio('aaa', 50, 20, 130, 20)
GUICtrlSetState(-1, $GUI_CHECKED)
$nRadio2 = GUICtrlCreateRadio('bbb', 50, 60, 150, 20)
$nRadio3 = GUICtrlCreateRadio('ccc', 50, 90, 100, 20)
$nButton = GUICtrlCreateButton('Go', 50, 120, 100, 40)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $nButton
If BitAND(GUICtrlRead($nRadio1), $GUI_CHECKED) Then
While 1
MsgBox(64, 'aaa', 'aaa')
WEnd
;Else
ElseIf BitAND(GUICtrlRead($nRadio2), $GUI_CHECKED) Then
While 1
MsgBox(64, 'bbb', 'bbbb')
WEnd
Else
While 1
MsgBox(64, 'ccc', 'ccc')
WEnd
EndIf
EndSwitch
$msg = TrayGetMsg()
Switch $msg
Case 0
ContinueLoop
Case $about
MsgBox(64, "Preferences:", "OS:" & @OSVersion)
Case $exit
Exit
EndSwitch
WEnd