Показать полную графическую версию : [решено] Команда "paste" или "ctrl+v" в окне программы.
maxd2007
20-11-2013, 22:53
Всем привет, помогите решить такую проблему: есть программа, при каждом ее запуске требует логин и пароль (запоминать не хочет), хочется в идеале что бы скрипт запускал программу, ждал появления окна и вставлял логин и пароль, но можно и руками запустить программу а запуск скрипта вобьет логин и пароль. В буфер взять текст получается а вот как вставить не пойму (даже имитацию нажатия мышки в определенное место сделал т.к окно открывается все по середине экрана независимо от того где закрыл, но вот как вставить не пойму =( ). Извиняюсь если непонятно изъяснился 0_0.
есть программа, »
Какая именно?
Стоит опробовать AutoIt.
maxd2007
21-11-2013, 00:19
Origin ( https://www.origin.com/ru-ru/download ) - извиняюсь что сразу не написал, ступил
Я так понимаю Вы имели ввиду это http://www.autoitscript.com/site/autoit/downloads/ ?
maxd2007
21-11-2013, 00:49
Странно как то, читаю мануал по AutoIt и там прям есть пример скрипта
Run("notepad.exe")
WinWaitActive("Untitled - Notepad")
Send("This is some text.")
но он не работает - в смысле открывается notepad но там пусто, This is some text. не появляется в нем (читаю в оригинале так что может где то что то упустил, на русском там лежит но при открытии там пусто, что странно т.к фаил весит 1,3 Мб).
Интересная вещь, напоминает MortScript =)
там прям есть пример скрипта
…
WinWaitActive("Untitled - Notepad")
…
но он не работает »
maxd2007, а у Вас пустой Блокнот имеет какой заголовок?
maxd2007
21-11-2013, 10:06
Нет, просто безымянный блокнот.
просто безымянный блокнот. »
Вот и замените в примере для англоязычной версии Блокнота параметр, указывающий заголовок окна для поиска с «Untitled - Notepad» на тот, который наличествует в Вашей локализованной версии. И не «просто безымянный блокнот», а в точности до буковки (каковые можно получить посредством утилиты «Au3Info.exe»/«Au3Info_x64.exe»).
maxd2007
23-11-2013, 10:15
Извиняюсь, что пропал. Когда я сделал так:
Run("notepad.exe")
WinWaitActive("[CLASS:Notepad]")
Send("This is some text.")
то все заработало. А где-нибудь можно посмотреть список команд с кратким описание их, как это реализовано в командной строке, при вызове команды "Help"?
А где-нибудь можно посмотреть список команд с кратким описание их, как это реализовано в командной строке, при вызове команды "Help"? »
В документации. С полным описанием. Перечень будет в окне оглавления справа.
maxd2007
24-11-2013, 10:06
Спасибо. А еще такой вопрос: AutoIt может править фаилы в шестнадцатеричной системе (незнаю просто как еще это назвать), т.е. есть 100 фаилов и во всех нужно поправить по адресу 000001D5 1E на 1С, возможно ли это сделать стандартными средствами или придется прибегать к каким то допам?
править фаилы в шестнадцатеричной системе (незнаю просто как еще это назвать) »
Назовите бинарными файлами, не ошибётесь (в противовес текстовым).
возможно ли это сделать стандартными средствами »
Возможно. FileOpen(), FileSetPos(), FileWrite(), FileClose().
maxd2007
25-11-2013, 13:27
Спасибо огромное за советы, сделал скрипт так:
MouseClick("left", 938, 28, 1)
Send("Login")
MouseClick("left", 938, 8, 1)
Send("Pass")
Может со временем усложню =)
PS
И еще большее спасибо за AutoIT, очень полезная и удобная вещь =).
maxd2007, «MouseClick()» и «Send()» — это последнее, что стоило использовать. Вы пробовали «WinWait()», «WinActivate()», «ControlSetText()»/«ControlSend()», «ControlClick()»?
maxd2007
29-11-2013, 11:42
Iska,
Спасибо за совет, обязательно попробую, это сделал на скорую руку - это так для развлечения, а в дальнейшем может и для работы прикручу, что бы каждый раз не логиниться, так что Ваш метод обязательно попробую.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.