; Эмуляция нажатия комбинации клавиш Win + R
; Send("#r")
Send("#к") ; если русский язык по умолчанию при загрузке OS, то вместо "#r" нужно "#к", либо в скрипте временно переключать на англоязычную раскладку.
; в англоязычном примере окно называется Run
$hWnd = WinWait("Запуск программы", "", 5)
If Not $hWnd Then
MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
Exit
EndIf
Sleep(100)
; Эмуляция ввода текста notepad.exe и нажатие Enter
Send("notepad.exe{Enter}")
; Ожидание 5 секунд до появление окна блокнота
$hWnd = WinWait("[CLASS:Notepad]", "", 5)
If Not $hWnd Then
MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
Exit
EndIf
Send("Сегодняшняя дата и время {F5}")
Sleep(1000)
; Закрывает блокнот.
WinClose($hWnd)
; При закрытии появится окно с предложением сохранить файл, classname вызываемого окна "#32770", эмулируем нажатие "TAB" для перемещения фокуса на вторую кнопку и "ENTER", чтобы отказаться от сохранения.
WinWaitActive("[CLASS:#32770]")
Sleep(500)
Send("{TAB}{ENTER}")
Пожалуйста, займитесь - исправьте все недочеты. Уверен, уж у вас-то получится намного лучше и быстрее.Dessan сказал(а):... Я, конечно, мог бы написать на это, что в справке можно было б побольше сделать примеров и пояснений, пожаловался на непонятный разброс кода...
А вы выполните:Dessan сказал(а):... по поводу примера - рабочий он или нет.
; Эмуляция нажатия комбинации клавиш Win + R
; Send("#r")
Send("#к") ; если русский язык по умолчанию при загрузке OS, то вместо "#r" нужно "#к", либо в скрипте временно переключать на англоязычную раскладку.
Example()
Func Example()
; Эмуляция нажатия комбинации клавиш Win + R (вызов командной консоли Windows)
Send("#r")
; Ожидаем 5 секунд пока окно консоли не появится
$hWnd = WinWait("Выполнить", "", 5)
;-------------------Код блока вызова информационного окна при ошибке вызова консоли (удаление блока не отразится на работе скрипта)
If Not $hWnd Then
MsgBox(4096, 'Сообщение', 'Окно консоли не найдено, завершаем работу скрипта')
Exit
EndIf
;-----------------------конец кода блока
; Эмуляция ввода текста notepad.exe и нажатие клавиши Enter
Send("n")
; Задаём время ожидания для успешного ввода каждого символа
Sleep(100)
Send("o")
Sleep(100)
Send("t")
Sleep(100)
Send("e")
Sleep(100)
Send("p")
Sleep(100)
Send("a")
Sleep(100)
Send("d")
Sleep(100)
Send(".")
Sleep(100)
Send("e")
Sleep(100)
Send("x")
Sleep(100)
Send("e")
Sleep(1000)
; Эмуляция нажатие клавиши 'Enter'
Send("{Enter}")
; Ожидание 5 секунд до появление окна блокнота
$hWnd1 = WinWait("[CLASS:Notepad]", "", 5)
;-------------------Блок вызова информационного окна при ошибке открытия окна блокнота (удаление блока не отразится на работе скрипта)
If Not $hWnd1 Then
MsgBox(4096, 'Сообщение', 'Окно блокнота не найдено, завершаем работу скрипта')
Exit
EndIf
;-----------------------конец кода блока
; Эмуляция ввода текста "Дата и время" и нажатие клавиши 'F5' для ввода даты и времени в редакторе поля Блокнота
Send("Дата")
Sleep(100)
Send("{SPACE}и{SPACE}")
Sleep(100)
Send("время")
Sleep(100)
Send("{SPACE}")
Sleep(100)
Send("{F5}")
Sleep(3000)
; Закрываем окно Блокнота, используя дескриптор, возвращённый от функции WinWait
WinClose($hWnd1)
; При закрытии появится окно с предложением сохранить изменения в файле, classname вызываемого окна "#32770"
WinWaitActive("[CLASS:#32770]")
Sleep(2000)
;Эмулируем нажатие "TAB" для перехода на вторую кнопку, для которой нажатие на "ENTER" подтвердит отказ от сохранения файла.
Send("{TAB}{ENTER}")
EndFunc ;==>Example
- Ох,как я коварен! На самом деле я шпион с английского форума AutoIt и здесь с целью внедрения в доверие и похищения русской справки.немного покритиковать справку, чтобы тот кто над ней работал временно побыл учителем оправдываясь и расписывая по деталям что он имел ввиду... Этот подход мне известен
- правильно, вы не пользуетесь, вам не нужно, и половине форума, с пометкой Гуру AutoIt, тоже не нужно. Справку-то пишут и не для них, а для людей без знаний языка программирования, не имеющих диплома программиста,а вы пишите справку как для себя. Она, чудесная, но написана не языком, доступным к пониманию простого смертного.Я ей вообще не пользуюсь выложил по доброте
ипосмотри сколько пачками приходилось отписывать, не спрашивать, а навязывать готовое.
- Почитал форум и сразу понял "Почему". Посмотрите сюда ещё раз , пожалуйстане принимают ни в какую, перепиши по стандарту справки и всё.
AZIJO, I like the regexp examples. I'm not sure about the If...ElseIf...Else...EndIf examples though. Although I like them too, I think that they could be a little simpler. For something so basic as this, it doesn't make sense to have more advanced stuff mixed in like logical operators and expressions such as MsgBox() = value.
True, but examples of more advanced conditional statements occur throughout the help file. An absolute beginner wondering what 'And' and 'Or' might imply, and why does MsgBox have a numerical value is likely to take longer to grasp If...ElseIf...Else...EndIf. I have seen many examples in the help file that are 99 percent about a different (often much more advanced) subject. If I didn't find myself so busy I would devote more time to looking into this. There are also many examples that appear to not do anything (if at all apparent) different from similar examples - especially in the UDF examples.
и снова форумчанинExamples should demonstrate functionality and not confuse the user. I have to say that MsgBox would confuse me and raise questions in the forum.
I agree. Sticking to the simplest code needed to illustrate exactly what a function does is much clearer, particularly for beginners. Obviously there needs to be some additional code for this stuff to be meaningful.
В английском варианте такого вообще нет!не мог понять что же хочет автор, тем более при моём уровне знаний AutoIt...А с этими MsgBox - вообще первый раз страшно смотреть было на такой код.
Кто именно? guinness? Ты просто никого из них не знаешь, а я с ими маленькую жизнь прожил. Мне просто не хочется вводить тебя в курс дела, чтобы не выглядеть меркантильным, по поводу кто есть кто.А потом пишет уже форумчанин с пометкой Developer (Разработчик)
не пользуюсь англоязычной справкой для которой меня хотели раскрутить на обработку примеров, и даже хуже, я слегка чувствовал неуважение. Если ты (не ты лично) считаешь, что должен изменить пример, в каком то формате то делай как ты это видишь, потому что я уже сделал идеально как я это вижу.- правильно, вы не пользуетесь,
Во первых нет у меня диплома. Во вторых пишу для себя с учётом мнения других, в третьих, когда ты разберёшься, поймёшь, что именно так и надо писать не для нулевого уровня, а для среднего включая нулевой, потому что я сам говорил что в справке должно быть и лёгкие и сложные примеры, иначе ты сложный никогда не увидишь, а если увидишь, то будешь пользоваться им, потомушта.а для людей без знаний языка программирования, не имеющих диплома программиста,а вы пишите справку как для себя
Пока мы там спорили, да, заходили в тему новички ничего не понимающие и давали советы, но им скорее нужен был не вариант разных форм написания кода, а текущая их потребность в их непонимании. Но... справочник пишется не для того чтобы средне-статистический пользователь зашёл туда и сказал что ничего интересного там нет, а чтобы каждый раз заходя в справку ему открывались новые участки кода, что можно писать конструкции вложенными многократно, что есть особые приёмы удобные для чтения. То как ты видишь код в справке заставляет использовать именно так, поэтому многие привыкли писать код неправильно, так как они увидели это в примерах.Ребята пишут, что код загромождён,юзер смущён