Что нового

[Автоматизация] Простая автоматизация блокнота

yagrus2

Новичок
Сообщения
4
Репутация
0
Здравствуйте.
Тут: http://autoit-script.ru/autoit3_docs/tutorials/notepad/notepad.htm
описывается задание, с которого нужно начать знакомство с Autoit.

У меня получился такой результат

Код:
Run("notepad.exe")
WinWaitActive("Untitled - Notepad")
Sleep(1000)
Send("Это некоторый текст.")
Sleep(1000)
WinClose("Untitled - Notepad") 
Sleep(1000)
WinWaitActive("Notepad", "&Save")
Send("!n")


Но он не работает.
Не могу понять почему? Может ошибка в
Код:
WinWaitActive("Notepad", "&Save")
или не работает
Код:
Send("!n")


Немного изменил окончание кода. Все заработало
Код:
Run("notepad.exe")
WinWaitActive("Untitled - Notepad")
Sleep(1000)
Send("Это некоторый текст.")
Sleep(1000)
WinClose("Untitled - Notepad") 
;WinWaitActive("Notepad", "&Save")
Sleep(1000)
Send("{TAB}")
Send("{ENTER}")

Стоит ли во втором варианте снять комментарий
Код:
;WinWaitActive("Notepad", "&Save")
?
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Открой auinfo и пройди каждый шаг вручную, смотря в него. Закоменченая тобой строка ожидает появления окна сохр\нет\отмена.
 
Автор
Y

yagrus2

Новичок
Сообщения
4
Репутация
0
sngr сказал(а):
Открой auinfo и пройди каждый шаг вручную, смотря в него.
Так и делал. Из него и копировал соответствующие реквизиты.
Но почему то Send("!n") не работает :(
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Там же по ссылке указано "!n" для англ, для русской будет "!н".

Код:
Run("notepad.exe")
WinWaitActive("[class:Notepad]")
Sleep(1000)
Send("Это некоторый текст.")
Sleep(1000)
WinClose("[class:Notepad]")
Sleep(1000)
WinWaitActive("Блокнот", "&Да")
Send("!н")
 

oesoes

xor eax,eax
Сообщения
171
Репутация
9
Не получилось потому, что язык русский ;)
 
Автор
Y

yagrus2

Новичок
Сообщения
4
Репутация
0
Да, у меня заголовок написан латиницей. А какая разница? Я получил его через AutoiIT Info.

Код:
; Не помогло
WinWaitActive("Notepad", "&Save")
Send("!н")
 

Вложения

  • Capture1.PNG
    Capture1.PNG
    114 КБ · Просмотры: 17

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
yagrus2 [?]
Но почему то Send("!n") не работает
Вероятно, у вас по умолчанию в системе установлена русская раскладка клавиатуры. Это известная проблема, на форуме много тем с решением (например, здесь). Также решением может быть использование других функций. В данном случае

Код:
ControlClick("Notepad", "&Save", "Button2")
 
Автор
Y

yagrus2

Новичок
Сообщения
4
Репутация
0
Да, у меня по умолчанию у меня русская раскладка.

Буду изучать.

Спасибо.
 
Верх