Глобальная переменная
Доброе время !
Ищу не найду способ объявления переменной таким образом, чтобы ее видел каждый запущенный скрипт. Возможно ли это в AI ? Собственно, для чего это мне нужно. 1 Запущена программа, она в режиме ожидания. 2 Запущена эта же программа, второй экземпляр. 3 Надо в 2 определить тот факт что запущена 1 и прервать процесс обеих. По всякому пробовал, не получается отследить. Наверное можно вычислить Pid-ы всех процессов с нужным наименованием окна и все их закрыть в цикле. Но окон может и не быть.... Была бы глобальная переменная, как это есть в Clipper... Тогда по ее значению можно было бы отследить процесс. Func GoGo() while 1 Sleep(3000) WEnd EndFunc |
Создать такую переменную нет возможности.
варианты: Если и создовать переменную окружения, то только через bat, win api........ 2. интереакция между скрипта, обсуждения хотя бы тут., пример тут. |
Цитата:
Код:
#include <Misc.au3> |
Цитата:
|
Ещё вариант:
Первый скрипт создаёт в темпе файл. Во время работы проверяет его наличие и если не обнаруживает - выход. Второй скрипт просто удаляет этот файл и выходит. |
Вот скриптик для реализации моей задачи, может пригодится :)
#include <Misc.au3> $list = ProcessList() if _Singleton(@ScriptName,1) = 0 And ProcessExists ( @ScriptName) Then for $i = 1 to $list[0][0] If $list[$i][0] = @ScriptName Then $PID = ProcessExists($list[$i][1]) ProcessClose($PID) endif Next Exit EndIf |
Цитата:
Код:
If NOT _Singleton(@ScriptName, 1) Then Код:
Opt('GUIOnEventMode', 1) Код:
Opt('GUIOnEventMode', 1) Цитата:
|
Цитата:
Пришлось делать перебор все пидов с одноименным названием. Теперь хоть 50 экземпляров одноврменно можно отфутболивать. Цитата:
Супер коллаж функции в рюшечках у тебя ! :up Кстати, хотел спросить по поводу функции HotKeySet Почему-то на некторыхх компах она не работает вообще, а на некоторых работает не всегда. Как будто переполнение буфера клавы, после перегруза снова начинает работать. Пробовал на Apple компах, там вообще с этим глухо. Есть что сказать по этому поводу ? HotKeySet("^z", "BackUp") HotKeySet("^x", "UnMount") |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
начни использовать тег: code, кнопочка с решеткой на панельке над полем ввода текста сообщения. так удобней читать код. |
Цитата:
Я сам в шоке. Дома все отработал, принес на компы клиентам ставить, а там просто реакция 0 на Hotkeys и на _Ispressed Кстати, такая же история и на Терминал Сервере (Server 2003), там горячие клавиши не срабатывали изначально. Потом вставил просмотр окна Msgbox() непосредственно перед строкой срабатывания (_Ispressed), почему-то помогло. Как будто нужна некая задержка или инициализация. Но sleep() не срабатывает. Вот так методом научного тыка.... Правда, использовал местами _ClipBoard_Empty(), может оно там что-то обнуляет... В общем тыкаю дальше. Цитата:
Код:
HotKeySet("^z", "BackUp") |
Время: 22:36. |
Время: 22:36.
© OSzone.net 2001-