|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Одновременная работа цикла и программы |
|
Одновременная работа цикла и программы
|
Новый участник Сообщения: 29 |
Профиль | Отправить PM | Цитировать Вызов функций в проге производится опросом:
case "abc" func1 case"amg" func2 case"adm" func3 если вызвать функцию2, то опрос останавливается, пока не выполнит эту фунцию2, а функц2 это бесконецный цикл: while 1 msgbox(0,"","message") wend Как заставить работать прогу параллельно с циклом |
|
Отправлено: 17:56, 13-08-2010 |
Ветеран Сообщения: 903
|
Профиль | Отправить PM | Цитировать ShogenOFF, не уверен, но, возможно, реализовать как отдельный скрипт и запускать его из основного?
|
------- Отправлено: 18:18, 13-08-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать А нет других вариантов? Ехе'шник, желательно, должен быть один. Если это что-то меняет, то цикл do...until.
|
Отправлено: 20:58, 13-08-2010 | #3 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать ShogenOFF,
Попробуйте так: While 1 $ahCallBack_1 = _CallBack_Init("My_Func_1", 5555) $ahCallBack_2 = _CallBack_Init("My_Func_2", 2222) My_Func_3() WEnd Func My_Func_1() Local $iX = Random(1, @DesktopWidth - 50, 1), $iY = Random(1, @DesktopHeight - 50, 1) MouseMove($iX, $iY) EndFunc ;==>My_Func_1 Func My_Func_2() SoundPlay(@WindowsDir & "\media\tada.wav") EndFunc ;==>My_Func_2 Func My_Func_3() While 1 MsgBox(0, "", "Будут работать все 3 функции, пока не нажмешь OK") ExitLoop WEnd _CallBack_Free($ahCallBack_1) _CallBack_Free($ahCallBack_2) Exit EndFunc ;==>My_Func_3 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 |
Отправлено: 21:22, 13-08-2010 | #4 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Спасибо, madmasles. Но....ради цикла мсгбокса не хочу так заморачиваться. Думал, есть какая-нить стандартная ф-ия.
|
|
Отправлено: 22:48, 13-08-2010 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - Одновременная работа в 2-х сетях. | DmitryF | Microsoft Windows 7 | 2 | 26-07-2010 13:31 | |
Одновременная работа Телевизора и Монитора | Saber_Fox | Видеокарты | 2 | 27-02-2010 22:19 | |
одновременная работа монитора и телевизора | altr | Видеокарты | 7 | 08-02-2010 18:48 | |
одновременная работа (Remote Desktop)... | minion | Microsoft Windows 2000/XP | 15 | 18-11-2006 23:07 | |
Одновременная работа 2х сетевых карт | Lola2 | Сетевые технологии | 2 | 15-01-2006 20:23 |
|