Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] как выдать сообщение не остонавливая скрипт до закрытия его пользователем?

Ответить
Настройки темы
[решено] как выдать сообщение не остонавливая скрипт до закрытия его пользователем?

Пользователь


Сообщения: 86
Благодарности: 2

Профиль | Отправить PM | Цитировать


MsgBox устраивает всем, кроме того что до закрытия сообщения пользователем скрипт останавливается, а надо чтобы он не прекращал работать.
Как можно это реализовать, таймаут в MsgBox не предлагать

Отправлено: 19:52, 07-01-2010

 

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Может просто создать дочернее окно, в котором будет только сообщение и кнопка? Скрипт при этом не должен останавливаться.

Отправлено: 20:08, 07-01-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 86
Благодарности: 2

Профиль | Отправить PM | Цитировать


так там будит то же цыкл, который будит следить не нажата ли кнопка, получится то же самое что и с MsgBox.

Отправлено: 20:11, 07-01-2010 | #3


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
$iRet = _MsgBoxEx(36, "My Title", "Message", 10, 0, "_SetData")

MsgBox(64, "", "Returned Value is: " & $iRet)

Func _SetData($iCount)
    ConsoleWrite("The script is not paused " & $iCount & " second(s)" & @LF)
EndFunc

Func _MsgBoxEx($iType, $sTitle, $sText, $iTimeOut=0, $hWnd=0, $sCallBackFunc="")
    Local $sAu3Line = '"ConsoleWrite(MsgBox(' & $iType & ', ''' & $sTitle & ''', ''' &  $sText & ''', ' & _
        $iTimeOut & ', ' & $hWnd & '))"'
    Local $iAu3PID = Run(@AutoItExe & ' /AutoIt3ExecuteLine ' & $sAu3Line, '', @SW_SHOW, 6)

    Local $iStdOutRead
    Local $iTimerInit = TimerInit(), $iTimerDiff = Round(TimerDiff($iTimerInit)/1000, 0), $iLastTimer = $iTimerDiff
    Local $iOld_WWD_Opt = Opt("WinWaitDelay", 0)

    WinWait($sTitle, $sText)

    Opt("WinWaitDelay", $iOld_WWD_Opt)

    While 1
        $iStdOutRead &= StdoutRead($iAu3PID)
        If @error <> 0 Then ExitLoop

        If $sCallBackFunc <> "" Then
            $iTimerDiff = Round(TimerDiff($iTimerInit)/1000, 0)

            If $iLastTimer <> $iTimerDiff Then
                $iLastTimer = $iTimerDiff
                Call($sCallBackFunc, $iTimerDiff)
            EndIf
        EndIf

        Sleep(1)
    WEnd

    Return $iStdOutRead
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:43, 07-01-2010 | #4


Пользователь


Сообщения: 86
Благодарности: 2

Профиль | Отправить PM | Цитировать


Спасибо

Отправлено: 00:02, 08-01-2010 | #5


Аватара для snoitaleR

Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


andr_mozg
Я для этих целей использую функцию SplashTextOn()...
А когда надо убрать сообщение (в любом месте скрипта) вызываю SplashOff()...

Отправлено: 08:59, 09-01-2010 | #6


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата snoitaleR:
Я для этих целей использую функцию SplashTextOn()... »
Для каких целей?

Цитата snoitaleR:
А когда надо убрать сообщение (в любом месте скрипта) вызываю SplashOff() »
А если нужно предоставить эту возможность пользователю?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 11:50, 09-01-2010 | #7


Аватара для snoitaleR

Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


Creat0R
Тогда по-другому:

Код: Выделить весь код
; НАЧАЛО

 $GUI1=GUICreate("",300,300)
 $EDIT=GUICtrlCreateEdit("",0,0,300,200,0x1000)
 $BUTTON1=GUICtrlCreateButton("MsgBox",0,200,300,50)
 $BUTTON2=GUICtrlCreateButton("GUI2",0,250,300,50)

 GUISetState(@SW_SHOW,$GUI1)

 $GUI2=GUICreate("Внимание!",200,100,-1,-1,0x00400000)
 $LABEL1=GUICtrlCreateLabel("Приложение продолжает работу"&@CRLF&"Нажмите OK, чтобы закрыть окно",10,10)
 $BUTTON0=GUICtrlCreateButton("Ok",-1,45,50,25)

 $R=""

 While true

  Switch GUIGetMsg()
   Case -3
    ExitLoop
   Case $BUTTON1
    MsgBox(0,"Внимание!","Приложение заблокировано"&@CRLF&"Нажмите OK, чтобы закрыть окно")
   Case $BUTTON2
    GUISetState(@SW_SHOW,$GUI2)
   Case $BUTTON0
    GUISetState(@SW_HIDE,$GUI2)
  EndSwitch

  $R=$R&Chr(Random(32,127,1))

  GUICtrlSetData($EDIT,$R)

  Sleep(50)

 Wend

; КОНЕЦ

Отправлено: 18:28, 09-01-2010 | #8


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата snoitaleR:
Тогда по-другому »
Что подругому, разве мой пример не подходит?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 18:36, 09-01-2010 | #9


Аватара для snoitaleR

Новый участник


Сообщения: 26
Благодарности: 0

Профиль | Отправить PM | Цитировать


Creat0R
Не в этом дело...
Мой пример сначала не подходил, а теперь подходит...

Отправлено: 18:42, 09-01-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] как выдать сообщение не остонавливая скрипт до закрытия его пользователем?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Как написать програмку для открытия и закрытия DVD-RW, если буква диска неизвестна? Fraks AutoIt 11 30-08-2009 18:40
Доступ - [решено] Перезагрузка после закрытия программы hsperm Microsoft Windows 2000/XP 2 21-07-2009 09:49
V. 5.5/2000/2003 - [решено] Сообщение еще не доставлено. Microsoft Exchange продолжит попытки доставить сообщение exo Microsoft Exchange Server 1 28-05-2009 23:23
Разное - AutoIt Помогите написать скрипт закрытия окна выполнения сценария в трее ShadowMas Программирование и базы данных 1 05-07-2008 14:04
нужен скрипт для добавления сайта в избранное и сделать его стартовой страницей Denis Shutka Вебмастеру 2 30-01-2005 11:03




 
Переход