Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

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

Аватара для Centrinar

Старожил


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

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


Цитата:
RunWait('"tets.exe" -a') MsgBox(16, "Проверка", "Идет проверка, ждите", WinGetHandle("Проверка"))
Надо что бы окно Проверка высвечивалась во время выполнения tets.exe поверх окна. Спасибо!

Отправлено: 13:54, 10-02-2010

 

Аватара для madmasles

Ветеран


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

Профиль | Отправить 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
Нашел у себя пример , кажется, от Creat0R.

Отправлено: 14:01, 10-02-2010 | #2



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

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


Аватара для Creat0R

Must AutoIt


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

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


Цитата Centrinar:
Надо что бы окно Проверка высвечивалась во время выполнения tets.exe поверх окна. »
Код: Выделить весь код
$iPID = Run('"tets.exe" -a')

While ProcessExists($iPID)
    MsgBox(262144+16, "Проверка", "Идет проверка, ждите")
WEnd

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

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

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

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

Отправлено: 16:45, 10-02-2010 | #3


Аватара для Centrinar

Старожил


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

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


Creat0R Всё хорошо, но после окончания test.exe окно всеранво остаеться, как сделать чтобы оно само закрывалось.

Последний раз редактировалось Centrinar, 10-02-2010 в 17:19. Причина: исправление


Отправлено: 17:02, 10-02-2010 | #4


Аватара для Creat0R

Must AutoIt


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

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


Цитата Centrinar:
после окончания test.exe окно всеранво остаеться, как сделать чтобы оно само закрывалось »
Тогда нужен не Msgox, а самопальный GUI:

Код: Выделить весь код
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ProgressConstants.au3>

$hGUI = GUICreate("Проверка", 300, 120, -1, -1, BitOR($WS_POPUP, $WS_BORDER), $WS_EX_TOPMOST)

GUICtrlCreateLabel("Идет проверка, ждите", 0, 40, 300, -1, $SS_CENTER)
$nProgress = GUICtrlCreateProgress(120, 70, 60, 22, $PBS_SMOOTH, $WS_EX_DLGMODALFRAME)

GUISetState(@SW_SHOW, $hGUI)

$iPID = Run('"tets.exe" -a')

$iProgress = 0
$iStep = 5

While ProcessExists($iPID)
    GUICtrlSetData($nProgress, $iProgress)
    $iProgress += $iStep
    If $iProgress >= 100 Or $iProgress <= 0 Then $iStep = -$iStep
    
    Sleep(100)
WEnd

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

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

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


Последний раз редактировалось Creat0R, 11-02-2010 в 01:14.

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

Отправлено: 20:57, 10-02-2010 | #5


Аватара для Centrinar

Старожил


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

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


все хорошо, только табличка на заднем плане, ее не видно)))

Отправлено: 21:11, 10-02-2010 | #6


Аватара для Creat0R

Must AutoIt


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

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


Цитата Centrinar:
табличка на заднем плане, ее не видно »
Поправил свой пост.

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

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

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

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

Отправлено: 00:40, 11-02-2010 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Как вывести ПК из домена neyk Microsoft Windows 2000/XP 10 18-04-2014 13:42
CMD/BAT - [решено] вывести сообщение на экран если файл весит больше 1 гига mars Скриптовые языки администрирования Windows 2 14-12-2009 11:03
как вывести время входа пользователей домена ? Alexir Microsoft Windows NT/2000/2003 3 01-02-2008 16:57
Как вывести сообщение после входа в учетную запись, а не при загрузке Windows? Unique_User Microsoft Windows 2000/XP 7 21-03-2007 12:51
как вывести юзера из АД. qpa3ep Microsoft Windows NT/2000/2003 3 20-11-2006 15:35




 
Переход