Ну зачем же 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