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

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


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

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


Ну зачем же Ini, можно устроить интеракцию через GUI окно:

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

Global $iPaused = False

HotKeySet("{Pause}", "_TogglePause")

$hGUI = GUICreate("Test Script", 300, 200, 510)

$Button = GUICtrlCreateButton("Button", 20, 40, 60, 20)

GUISetState(@SW_SHOW, $hGUI)

_RunScript_Proc("Child Script")

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Func _RunScript_Proc($sTitle)
    $sScript = _
        '#NoTrayIcon' & @CRLF & _
        '#include <GuiConstants.au3>' & @CRLF & _
        'Global $iPaused = False' & @CRLF & _
        '' & @CRLF & _
        'GUICreate("' & $sTitle & '", 300, 200, 200)' & @CRLF & _
        '$nInteract_Edit = GUICtrlCreateEdit("", -100, -100, 50, 20)' & @CRLF & _
        '' & @CRLF & _
        'GUISetState(@SW_SHOW)' & @CRLF & _
        '' & @CRLF & _
        'While 1' & @CRLF & _
        '   Switch GUIGetMsg()' & @CRLF & _
        '       Case $GUI_EVENT_CLOSE' & @CRLF & _
        '           Exit' & @CRLF & _
        '   EndSwitch' & @CRLF & _
        '   ' & @CRLF & _
        '   If GUICtrlRead($nInteract_Edit) <> "" Then' & @CRLF & _
        '       GUICtrlSetData($nInteract_Edit, "")' & @CRLF & _
        '       _TogglePause()' & @CRLF & _
        '   EndIf' & @CRLF & _
        'WEnd' & @CRLF & _
        '' & @CRLF & _
        'Func _TogglePause()' & @CRLF & _
        '   $iPaused = Not $iPaused' & @CRLF & _
        '   ' & @CRLF & _
        '   MsgBox(64, "", "_TogglePause from [' & $sTitle & '] script: " & $iPaused)' & @CRLF & _
        '   ' & @CRLF & _
        '   While $iPaused' & @CRLF & _
        '       Sleep(10)' & @CRLF & _
        '       If GUICtrlRead($nInteract_Edit) <> "" Then ExitLoop' & @CRLF & _
        '   WEnd' & @CRLF & _
        'EndFunc' & @CRLF

    $hFile = FileOpen(@TempDir & "\~Au3_Script.tmp", 2)
    FileWrite($hFile, $sScript)
    FileClose($hFile)

    Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @TempDir & '\~Au3_Script.tmp"')
EndFunc

Func _TogglePause()
    $iPaused = Not $iPaused

    ControlSetText("Child Script", "", "Edit1", "_TogglePause")
    Sleep(100)
    MsgBox(64, "", "_TogglePause from [" & WinGetTitle($hGUI) & "] script: " & $iPaused)

    While $iPaused
        Sleep(10)
    WEnd
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

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

Отправлено: 17:05, 25-08-2009 | #6