Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Не работают функции send() и mouseclick() (http://forum.oszone.net/showthread.php?t=147005)

attimsi 03-08-2009 20:53 1184671

Не работают функции send() и mouseclick()
 
Всем доброго дня!
Такая проблема, ставлю последнюю версию AutoIt на Vista и у меня ни в одном скрипте не работают функции send() и mouseclick().
Например, простейший скрипт из примера:
Код:

Run("notepad.exe")
WinWaitActive("Untitled - Notepad")
Send("This is some text.")
WinClose("Untitled - Notepad")
WinWaitActive("Notepad", "Do you want to save")
Send("!n")

При запуске открывает блокнот, делает его активны и скрипт паузится. Так происходит со всеми скриптами, они вполняются только до этих функций - что делать не знаю, я уже на другой комп ставил, там тоже виста, но вроде она поддерживается.

Пробовал в начало скрипта добавлять
Код:

#requireadmin
, но тоже не помогает :(

Creat0R 04-08-2009 00:21 1184827

Цитата:

Цитата attimsi
При запуске открывает блокнот, делает его активны и скрипт паузится »

И это повод усомниться в работоспособности функции Send() и MouseClick()?
Там просто WinWaitActivate() ждёт окно с заголовком "Untitled - Notepad", у вас же видимо другой заголовок окна блокнота («Безымянный»?).

Medic84 04-08-2009 08:41 1184939

Код:

WinWaitActive("Notepad", "Do you want to save")
Ага, и всплывающее сообщение тоже на русском.

attimsi 04-08-2009 09:38 1184964

Цитата:

Цитата Creat0R
И это повод усомниться в работоспособности функции Send() и MouseClick()?
Там просто WinWaitActivate() ждёт окно с заголовком "Untitled - Notepad", у вас же видимо другой заголовок окна блокнота («Безымянный»?). »

хек...да, стыдно, этот пример не удачный, вы правы, у блокнота другое окно, я от растройства совсем мозг потерял.

всё началось с того, что я захотел написать скрипт для полноэкранного приложения, есть такая карточная игра онлайн MTGO, может кто знает, но не суть. И проблема стала возникать в том, что мышка пока игра не запущена слушалась простых команда на перемещение по экрану, а когда разворачивал игру те же команды не выполняются, я проверял координаты до команды перемещения и после...

Сейчас на работе, вернусь домой ещё раз проверю, внимательно, может опять горесуперпрограмер, блин, напутал в скриптах...

Belfigor 04-08-2009 16:19 1185393

Если игра не браузерная, то вполне вероятно что клиент просто блокирует скрипт.

Lubitel Softa 04-08-2009 16:25 1185397

Не для протокола, AutoIt 3.3.0.0 и его откомпилированные *.exe отлично работают и под Vista, и под Windows 7 - проверенно лично :victory:

Creat0R 04-08-2009 17:01 1185437

Lubitel Softa, И как оно связано с данной темой?

Lubitel Softa 04-08-2009 17:06 1185446

Цитата:

Цитата attimsi
ставлю последнюю версию AutoIt на Vista и у меня ни в одном скрипте не работают »

Цитата:

Цитата attimsi
там тоже виста, но вроде она поддерживается. »


Creat0R 04-08-2009 17:13 1185455

Lubitel Softa, Сорри, пропустил это :)

Тогда ещё добавлю. AutoIt поддерживается на всех Windows кроме 9.x., т.е его нативные функции должны работать безпроблемно.

attimsi 04-08-2009 21:16 1185629

В первом посте, как и было сказано выше, AutoIt не причём - я облажался с руским блокнотом.

Теперь в продолжение темы.
Вот тестовый скрипт:
Код:

WinActivate("Magic Online v3.0.93.2");
Sleep(1000);
MouseMove(300, 300, 100);

При любом другом активном окне мышка движется нормально, но стоит только развернуть окно игры, причём оно не на полный экран, а как обычное окно, т.е. панель задач внизу видна - и всё. Скрипт запускается, но курсор мыши стоит на месте :(
Видимо действительно есть какой-то блок, но его скорее всего обходят, потому что я не нашёл упоминания на форумах что есть проблемы.
Подскажите, в чём может быть проблема и как её побороть?

P.S. Скомпилированный экзешник тоже не работает как надо.

Creat0R 04-08-2009 23:24 1185740

Цитата:

Цитата attimsi
Видимо действительно есть какой-то блок »

Тут видимо не блок, а скорее свой курсор и его обработчик. А что если после выполнения данного скрипта свернуть окно игры, курсор (системный) на том же месте?

attimsi 05-08-2009 10:08 1186008

Цитата:

Цитата Creat0R
Тут видимо не блок, а скорее свой курсор и его обработчик. »

Да, скорее всего, потому что всё исполнение игры оформленно в другом стиле, можно тут посмотреть на скриншот:

Я к сожалению не помню, не обращал внимание, за долгое время глаза привыкли, смогу только вечером посмотреть точно, но больше уверен, что он другой.
Цитата:

Цитата Creat0R
А что если после выполнения данного скрипта свернуть окно игры, курсор (системный) на том же месте? »

Да, курсор стоит на месте. Я дополнительно вставлял в код строки запоминающие позицию курсора до движения и после - не меняются. Пробовал использовать команду mouseclick() в нужном месте окна, без движения, но тоже ничего не происходит. При этом скрипт не паузится, доходит до конца. Также если поверх окна с игрой открыть и сделать активным другое, например, окно с редактором скриптов, то мышка движется нормально, как и положенно.

attimsi 07-08-2009 16:00 1188279

Никто не знает, в чём может быть проблема и как её обойти?

Проверил, курсор не меняется по виду.

attimsi 25-08-2009 09:51 1202506

Видимо никто не знает :(


Время: 10:35.

Время: 10:35.
© OSzone.net 2001-