|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Автоматизация нажатия клавиш |
|
Автоматизация нажатия клавиш
|
Ветеран Сообщения: 1384 |
Профиль | Отправить PM | Цитировать Здравствуйте.
Есть некоторая программа GateLocal. Приходится через некоторое время проводить в ней несложные однообразные манипуляции мышкой и ввод с клавиатуры. Есть необходимость автоматизировать данный процесс. Поддержки консольных команд у этой программы нет (информация от разработчиков). Попробовал воспользоваться программой autohotkey. В принципе интересная софтина, но почему-то ввод логина она обработать не может. В логах пишет что произошла ошибка (какая именно не пишет). Вот хотелось бы узнать может кто-то сталкивался с этим? Или может посоветуете другую программу? |
|
------- Отправлено: 18:09, 22-01-2011 |
Ветеран Сообщения: 1384
|
Профиль | Отправить PM | Цитировать Цитата madmasles:
Это программа, которая обслуживает контроллер магнитных ключей. У сотрудников компании есть магнитные карты и при прохождении проходной данные попадают в контроллер. Он запоминает порядка 4000 событий и через каждые пару дней приходится из контроллера скачивать инфу на компьютер. Теперь о кнопках которые нужно нажимать: Сначала нужно ввести имя пользователя и пароль..... в этом месте как раз и затык. И та прога, которой я изначально пытался пользоваться и vbs не помогают. Возможно там какая-то защита стоит от эмуляции нажатия клавиш. Этот кусок кода у меня не работает.... точнее ничего не печатает |
|
------- Отправлено: 14:40, 24-01-2011 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1384
|
Профиль | Отправить PM | Цитировать Вобщем разобрался. Косяк был в паузах - программа не всегда отрабатывала. Написал скриптик. Попробую как он будет запускаться по расписанию.
Set WshShell = CreateObject("WScript.Shell") RetCode = WshShell.Run("GateLocal.exe", 1) WScript.Sleep 3000 WshShell.SendKeys "+(^)" WshShell.SendKeys "Yfcnz" WshShell.SendKeys "{ENTER}" WScript.Sleep 1000 WshShell.SendKeys "{ENTER}" WScript.Sleep 1000 ' 'Изменяем на "Постоянно открыто" WshShell.SendKeys "{DOWN}" WScript.Sleep 1000 WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WScript.Sleep 1000 WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" ' 'Качаем события WScript.Sleep 1000 WshShell.SendKeys "{TAB}" WScript.Sleep 1000 WshShell.SendKeys "{ENTER}" WScript.Sleep 1000 WshShell.SendKeys "{ }" WScript.Sleep 1000 WshShell.SendKeys "{TAB}" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" WScript.Sleep 4000 WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ESC}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{ENTER}" ' 'Изменяем на "Постоянно закрыто" WshShell.SendKeys "{DOWN}" WScript.Sleep 1000 WshShell.SendKeys "{TAB}" WScript.Sleep 1000 WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" ' 'Выходим WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" |
------- Отправлено: 15:29, 24-01-2011 | #12 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Tonny_Bennet,
Скачал ее по Вашей ссылке, установил, но запускаться она не хочет, требует Hasp ключ (или что-то типа того). Попробуем помочь Вам по другому. 1. Вам надо скачать и установить AutoIt v3.3.6.1. 2. Как уже писал kaster: Цитата kaster:
4. Дальше примерно так: $sTitle = 'Заголовок Вашего окна' $sLogin = 'Ваш логин.' $sPass = 'Ваш пароль' $sFile = @ProgramFilesDir & '\GATELocal\Local.exe' ;полный путь к файлу, который открывает окно ;у Вас он может быть другой, я написал для примера. ;@ProgramFilesDir - макрос, путь к папке Program Files Run($sFile) ;запускаем файл, который должен открыть окно $hWindow = WinWait($sTitle, '', 5) ;ждем появления окна с заголовком $sTitle и любым текстом 5 секунд If Not $hWindow Then ;если не дождались окна ($hWindow = 0) MsgBox(16, 'Ошибка', 'Нет такого окна') Exit ;заканчиваем работу. EndIf ;если окно дождались, то $hWindow это идентификатор (Handle) этого окна. ControlSetText($hWindow, '', 'Edit1', $sLogin) ;вставляем логин в поле Edit1. У Вас оно может быть другое. ;Его надо узнать с помощью AutoIt Window Info. ControlSetText($hWindow, '', 'Edit2', $sPass) ;вставляем пароль в поле Edit2. См. комментарий выше ControlClick($hWindow, '', 'Button1') ;кликаем по кнопке Button1.См. комментарий выше Удачи. ИМХО, с помощью AutoIt это все сделать можно проще и надежнее. Если Вы все же решите делать это с помощью VBS, то Вам лучше задавать вопросы в соответствующей ветке форума Скриптовые языки администрирования Windows. |
|
Последний раз редактировалось madmasles, 24-01-2011 в 15:54. Отправлено: 15:47, 24-01-2011 | #13 |
Ветеран Сообщения: 1384
|
Профиль | Отправить PM | Цитировать Я понял спасибо за помощь, будем ковыряться
|
------- Отправлено: 16:16, 24-01-2011 | #14 |
Ветеран Сообщения: 1384
|
Профиль | Отправить PM | Цитировать По расписанию скрипт не запускается. Точнее приложение запускается но не отрабатывает. Т.е. я так думаю, что для эмуляции нажатия клавиш нужно быть влогиненным в с системе. Скажите пожалуйста с AutoIt дела обстоят также?
|
------- Отправлено: 11:56, 25-01-2011 | #15 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать здраствуйте я тож решил написать "установщик" но пробую в первый раз и конечно появляются проблемы)) ну вот я прочитал вашу беседу и попробовал по премеру Tonny_Bennet)) ну я сохранил скрипт в vbs. и при открытии мне выдают:
Требуется обиект:"WshShell"(( что это за обиект ведь я указал обьект? помогите please!!)вот скрипт: Set WhShell = CreateObject("WScript.Shell") RetCode = WshShell.Run("ranger.exe") WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{DOWN}" WshShell.SendKeys "{ENTER}" |
Отправлено: 15:43, 27-01-2011 | #16 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать jiorik,
Это раздел, посвященный AutoIt. Цитата:
|
|
Отправлено: 15:56, 27-01-2011 | #17 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать ну здесь тож рашают пробдемы со скриптами)) у меня ведь такой маленкий вопросик))там пока ищу подходящюю тему))ну спс и за отзыв!
|
Отправлено: 19:11, 27-01-2011 | #18 |
Ветеран Сообщения: 2355
|
Профиль | Отправить PM | Цитировать Цитата madmasles:
Автоматизация нажатия клавиш - это совершенно отдельная тема (и оч. многих интересующая), хотя инструменты реализации могут быть очень разнообразными. И неплохо бы было собрать их все в одном месте , а не распыляться по куче разных тем... ИМХО ps Собственно и сама эта тема "Автоматизация нажатия клавиш" , изначально была заявлена в другом месте, а сюда перенесена. И похоже, что опять ошибочно... |
|
Последний раз редактировалось MKN, 29-01-2011 в 14:54. Отправлено: 14:47, 29-01-2011 | #19 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Эмуляции нажатия клавиш в неактивном окне | ZARG-X | AutoIt | 22 | 31-01-2011 09:37 | |
[решено] эмуляция нажатия клавиш с помощью Autoit | lekivanv | AutoIt | 5 | 18-11-2010 02:35 | |
Вирус имитирующий нажатия клавиш и другие проблемы с компом | skit99 | Лечение систем от вредоносных программ | 12 | 01-02-2010 09:34 | |
[решено] Автоматизация нажатия кнопок в окне браузера в фоновом режиме(?) | zbruy | AutoIt | 9 | 04-10-2009 12:22 | |
Двойные нажатия клавиш | ivank | Железо в Linux | 8 | 09-06-2003 09:24 |
|