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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Проблема с имитацией нажатий клавиш (http://forum.oszone.net/showthread.php?t=209250)

Folterknecht 17-06-2011 16:40 1696488

Проблема с имитацией нажатий клавиш
 
У меня проблема при симуляции клавиш в приложении. В принципе тут нужно запустить приложение, дважды нажать вниз, а затем enter, но ничего не получается.
пробовал вот так:
Run("jarvos.exe")
WinWaitActive("Midway Arcade Treasures 2")
Sleep(500)
Send('{DOWN}')
Send('{DOWN}')
Send('{ENTER}')

Подскажите в чем подвох.
Ссылка на архив с этой программой: https://rapidshare.com/files/2117932...reasures_2.zip

нужно запустить файл jarvos.exe опустить курсор на надпись МК1 и нажать enter.

Нео 17-06-2011 17:40 1696539

Может за место WinWaitActive попробовать WinActive и увеличить паузу
Код:

Run("jarvos.exe")
WinActive("Midway Arcade Treasures 2")
Sleep(800)
Send('{DOWN}')
Send('{DOWN}')
Send('{ENTER}')


Folterknecht 17-06-2011 18:20 1696557

И это не помогает. Самое интересное, что результаты скрипта получаются разные. Иногда первая строчка остается выделенной, нажимается ENTER и происходит выход из программы. Иногда первая или вторая строчка остаются "подсвеченными" без всякого нажатия ENTER'а. А как то раз все сработало как надо. Поэтому, собственно, и обращаюсь за помощью.

Нео 17-06-2011 18:55 1696574

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

Folterknecht 17-06-2011 19:28 1696590

Ссылка на яндекс.народ - http://narod.ru/disk/16311849001/Mid...s%202.zip.html
Заранее благодарен.

Нео 17-06-2011 19:39 1696599

Autoit посылает два нажатия, а понимается только одно или не одного, я думаю что приложение не понимает всех нажатий Auroit`а. Но я думаю что я сделаю эмуляцию.

permas 18-06-2011 17:29 1697075

Folterknecht, У меня все прекрасно работает, попробуй поставить большее ожидание.

Например так:
Код:

Run("jarvos.exe")
WinActive("Midway Arcade Treasures 2")
Sleep(5000)
Send('{DOWN}')
Send('{DOWN}')
Send('{ENTER}')

И еще. Для определения момента выполнения определенного действия советую вставлять в скрипт короткие бипы, например Beep(1000,50)

Folterknecht 18-06-2011 18:19 1697107

Странно, у меня по-прежнему самые разные варианты при запуске скрипта. Стало быть проблема либо в программе, либо в системе?

Добавлено чуть поззже:
Дорвался до другого компьютера - все проблемы исчезли. Похоже система глючит. Правда проверял на немного другом скрипте (с паузами после каждого нажатия).

Folterknecht 19-06-2011 11:37 1697441

Переставил систему. Ничего не изменилось. На ноутбуке, где винда с того же диска, что и у меня сейчас, все работает как часы. В чем может быть проблема?


Время: 17:43.

Время: 17:43.
© OSzone.net 2001-