Что нового

Передача результата от скрипта к скрипту

AlexxxMksv

Новичок
Сообщения
39
Репутация
0
Добрый день, хочу синхронизировать три скрипта, что бы они не мишали друг другу, предполагаю передовать разрешение другим скриптам к началу работы.
Какие удобно использовать способы, через системную переменную, через реестр, через буфер обмена и т. д.?
 
Автор
A

AlexxxMksv

Новичок
Сообщения
39
Репутация
0
Например:
Код:
While 1
EnvUpdate()
$sEnvVar = EnvGet("AUTOIT")
MsgBox(4096,"", "Значение %AUTOIT%: " & $sEnvVar)

WEnd


я создал и вручную меняю ситемную %AUTOIT% переменную, почему изменения вижу только после повторного запуска скрипта?
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
http://autoit-script.ru/index.php?topic=17058
http://autoit-script.ru/index.php?topic=15013
 
Автор
A

AlexxxMksv

Новичок
Сообщения
39
Репутация
0
InnI сказал(а):
http://autoit-script.ru/index.php?topic=17058
http://autoit-script.ru/index.php?topic=15013

спасибо


Добавлено:
Сообщение автоматически объединено:

InnI сказал(а):
http://autoit-script.ru/index.php?topic=17058
http://autoit-script.ru/index.php?topic=15013

Изучаю, но там примеры для передачи через COM и передают классы массивы и т д.
А мне просто передать FALSE или TRUE, пример ищу проще,
может есть такой пример?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
InnI
Просьба - оставлять ссылки вместе с названием темы, типа:

Код:
[url=http://autoit-script.ru/index.php?topic=17058.0]Обмен данными между процессами,автоматизация[/url]
[url=http://autoit-script.ru/index.php?topic=15013.0]Коммуникация между процессами[/url]

И ещё тема до кучи: Container UDF
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
AlexxxMksv [?]
пока решил передовать переменную через буфер обмена, скажите нет ни каких противопоказаний?
Есть - б.обмена может быть очищен и использован другим приложением.
Это не из лучших выборов интеракций процессов.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
AlexxxMksv [?]
Зарегистрируйте собственные сообщения и общайтесь

Скрипт 1
Код:
#include <WinAPI.au3>

GUICreate("test msg 1")
$btn1 = GUICtrlCreateButton("send msg1", 10, 10)
GUISetState()

$msg1 = _WinAPI_RegisterWindowMessage("msg1")
$msg2 = _WinAPI_RegisterWindowMessage("msg2")

GUIRegisterMsg($msg1, "msg1")
GUIRegisterMsg($msg2, "msg2")

Do
  Switch GUIGetMsg()
    Case -3
      Exit
    Case $btn1
      _WinAPI_PostMessage(WinGetHandle("test msg 2"), $msg1, 0, 0)
  EndSwitch
Until 0

Func msg1($Wnd, $Msg)
  MsgBox(0, "test msg 1", "Получено сообщение msg1")
EndFunc

Func msg2($Wnd, $Msg)
  MsgBox(0, "test msg 1", "Получено сообщение msg2")
EndFunc

Скрипт 2
Код:
#include <WinAPI.au3>

GUICreate("test msg 2")
$btn1 = GUICtrlCreateButton("send msg1", 10, 10)
$btn2 = GUICtrlCreateButton("send msg2", 10, 40)
GUISetState()

$msg1 = _WinAPI_RegisterWindowMessage("msg1")
$msg2 = _WinAPI_RegisterWindowMessage("msg2")

GUIRegisterMsg($msg1, "msg1")

Do
  Switch GUIGetMsg()
    Case -3
      Exit
    Case $btn1
      _WinAPI_PostMessage(WinGetHandle("test msg 1"), $msg1, 0, 0)
    Case $btn2
      _WinAPI_PostMessage(WinGetHandle("test msg 1"), $msg2, 0, 0)
  EndSwitch
Until 0

Func msg1($Wnd, $Msg)
  MsgBox(0, "test msg 2", "Получено сообщение msg1")
EndFunc
 
Верх