thejustsoul
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Подскажите, как решить задачу, не могу догадаться. В общем есть форма, одно поле и условно 1 кнопка, нужна проверка ввода (если пустое поле - msgbox, если заданное значение тоже msgbox с уведомлением об ошибке). После нажатия на кнопку запускается проверка ввода. Затем если все ок, запускается некий процесс с нужными параметрами (передается из поля). Но нужна еще одна проверка на запущенный процесс (если процесс уже запущен (существует) то сообщение об ошибке - типа уже запущено, ждите). Как только процесс завершит свою работу, то вывести сообщение "готово". Пока получилось так, только вот если процесс запущен, то нажатие на кнопку не выводит сообщение об уже запущенной программе, а "копит в себе", потом после закрытия запускает еще раз (сколько раз нажали)... Код: Func Download() If (GUICtrlRead($Input1) = "") Or (GUICtrlRead($Input1) = "Вставьте ссылку..") Then MsgBox(0, "Ошибка!", "Не указана ссылка для скачивания." & @CRLF & @CRLF & "Пример ссылки:" & @CRLF & "https://www.site.com/") Else ;If ProcessExists("notepad.exe") = 0 Then If Not ProcessExists("notepad.exe") Then Run("notepad.exe") While ProcessExists("notepad.exe") <> 0 Sleep(100) ;MsgBox(0, "", " Скачивание завершено.") WEnd MsgBox(0, "", "Скачивание завершено.") Else MsgBox(0, "", "Скачивание уже идет, дождитесь его завершения.") EndIf EndIf EndFunc ;==>Download |
|