Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Здравствуйте. Помогите реализовать следующую задачу.
У меня есть несколько скриптов, которые одновременно выполняют различные действия в разных окнах. Но время от времени им требуется давать фокус (WinActivate). Проблема в том, что скрипты воруют фокус у друг друга, а нужно чтобы скрипты не могли активировать окно с которым они работают до тех пор, пока со стороны текущего работающего скрипта не будет команды деактивировать окно с которым он работает.
Так и не разобрался с этим примером. Ничего не получилось. Может есть другой пример или способ это реализовать?
Очень нужна такая возможность в скриптах.
Открываете файл в монопольном доступе и работаете. По завершении работы - закрываете файл. Другие скрипты ждут своей очереди на открытие этого же файла, чтобы начать работать. Пример скомпилируйте и запустите несколько копий - при закрытии одного MsgBox появится следующий и т.д.
Код:
#include <WinAPI.au3>
$p = ProcessList(@ScriptName)
While Sleep(350)
Do
Sleep(100)
$f = _WinAPI_CreateFile("lock.txt", 3)
Until $f
MsgBox(0, "", "Работаю : копия " & $p[0][0])
_WinAPI_CloseHandle($f)
WEnd
оба скрипта постоянно работают, но каждый из них ждет своей очереди для записи в свое окно блокнота
либо другой способ - через обмен данными между процессами.
там можно установить очередь
Добавлено:
Сообщение автоматически объединено:
можно по другому
три скрипта
первый один раз при запуске активирует свое окно и работает в нем, отработав, активирует окно для второго скрипта, а сам ждет активности своего окна
второй скрипт "увидев", что его окно активно отрабатывает в нем и делает активным окно для третьего скрипта, а сам ждет активности своего окна
третий скрипт, отработав в своем окне делает активным окно для первого скрипта.
так по кругу и будет все работать
очередность можно выбирать рандомно.
вобщем, способов можно придумать несколько