Показать сообщение отдельно
Старый 14.10.2010, 14:58   #789
Bersenev
Бывалый писикарщик
 
Аватар для Bersenev
 
Регистрация: 23.04.2009
Возраст: 54
Город: Ставрополь
Регион: 26
Машина: Opel Zafira 2007
Сообщений: 5,275
Bersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant future
По умолчанию

Цитата:
Сообщение от = Nicki = Посмотреть сообщение
это работает спасибо, а как передать комбинации типа Alt+Ctrl+F ? и просто буквы например таже Q чтобы включить карту яндекса? встроенная в скинкобинация не работает. Через скрипт видимо нужно как-то по хитрому
Смотри документацию по AutoIt3, но ещё нужно знать какому именно управляющему элементу в окне нужно отправлять эту комбинацию клавиш.

Цитата:
Некоторые дополнительные сведения о работе с функцией приводятся в Приложении. AutoIt способен высылать все стандартные и дополнительные ASCII символы (0-255). Для высылки UNICODE символов следует применять опцию ASC и код символа, который требуется выслать (см. {ASC} в конце приведенной ниже таблицы).


Синтаксис функции "Send" подобен синтаксису обозначений клавиш ScriptIt, а также синтаксису, принятому в команде "SendKeys" Visual Basic. Все символы симулируются так, как они обозначены на клавиатуре за исключением следующих "специальных символов":

'!'
Этот символ предписывает AutoIt симулировать нажатие клавиши вместе с клавишей ALT, поэтому вызов функции Send("This is text !a") приводит к высылке после текста "This is text" комбинации из двух клавиш - "ALT+a".

N.B. Некоторые программы "различают" заглавные и строчные буквы, высылаемые совместно с клавишей ALT и для них "!A" будет отличаться от "!a". Первая комбинация "буквально" означает ALT+SHIFT+A, а вторая - ALT+a. Если возникают сомнения, то используйте строчную букву!

'+'
Этот символ предписывает AutoIt симулировать нажатие клавиши вместе с клавишей SHIFT, поэтому вызов функции Send("Hell+o") выдаст "HellO". Обратите внимание, что Send("!+a") - это комбинация совместного нажатия трех клавиш - "ALT+SHIFT+a".

'^'
Этот символ предписывает AutoIt симулировать нажатие клавиши вместе с клавишей CONTROL, поэтому вызов функции Send("^!a") приводит к высылке комбинации "CTRL+ALT+a".

N.B. Некоторые программы "различают" заглавные и строчные буквы, высылаемые совместно с клавишей CTRL и для них "^A" будет отличаться от "^a". Первая комбинация "буквально" означает CTRL+SHIFT+A, а вторая - CTRL+a. Если возникают сомнения, то используйте строчную букву!

'#'
Этот символ используется в качестве символа простого разделения текста для облегчения чтения. Поэтому Send("!a#!b") - это то же самое, что и Send("!a!b").


Перед вызовом Send можно установить опцию SendCapslockMode, позволяющую отключить режим CAPS LOCK, а после высылки комбинаций восстановить первоначальный режим.
Однако, если пользователь при высылке нажатий с помощью Send намеренно будет удерживать клавишу Shift в нажатом состоянии, то выдаваемые символы окажутся набранными в верхнем регистре.
Один из способов избежать этого - вызов Send("{SHIFTDOWN}{SHIFTUP}") перед каждой из серией симуляций нажатий с помощью Send.

Некоторые клавиатуры национальных языков способны высылать различные символы для нижнего и верхнего регистра клавиши, или требуют использования режима CAPS LOCK для высылки символа. Следует помнить, что в AutoIt полагает, что символы, высылаемые в режиме CAPS LOCK, равносильны символам верхнего регистра. Иначе говоря AutoIt рассматривает режим CAPS LOCK согласно его первоначальному назначению - избавить пользователя от постоянного удерживания клавиши Shift и только!

Последний раз редактировалось Bersenev; 14.10.2010 в 15:29.
Bersenev вне форума   Ответить с цитированием