PREVED
![](http://forum.ru-board.com/board/avatars/Bear_smps.gif)
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Fintrum Цитата: Спасибо большое, а не в курсе как посылать Ctrl+Plus(+) acSendKeys("^{PLUS}") не работает, хотя acSendKeys("^{SUBSTRACT}") работает. | Странно. У меня работает. Это во всех программах или в какой-то конкретной? Цитата: или Ctrl+Mouse Wheel Up\Down? | Можно. Но с этим не так то просто как кажется. Для этого через функцию Winapi нужно отправлять сообщение в окно. Но у разных окон(которые принадлежат разным программам) могут быть свои особенности восприятия этой команды. В общем и целом (для большинства окон) должно работать это: Ctrl+Колесо вверх Код: acPostMessage(acGetWindowByPoint(gsx, gsy), "0x20A", 0x00780000+0x08, bit32.lshift(gsy,16)+gsx) acSendControlDown() acDelay{100} acPostMessage(acGetWindowByPoint(gsx, gsy), WM_VSCROLL, 0x00, nil) acDelay{100} acSendControlUp() | Ctrl+Колесо вниз Код: acPostMessage(acGetWindowByPoint(gsx, gsy), "0x20A", 0xff880000+0x08, bit32.lshift(gsy,16)+gsx) acSendControlDown() acDelay{100} acPostMessage(acGetWindowByPoint(gsx, gsy), WM_VSCROLL, 0x01, nil) acDelay{100} acSendControlUp() | Примечание 1: тут используются два метода. Дело в том, что в некоторые окнах скроллинг можно передать только через WM_VSCROLL. Поэтому код написан для максимального охвата разных окон. Двойного срабатывания быть не должно т.к., как правило, любая программа использует только один метод скроллинга в своих окнах (через одну функцию) - если один не сработает, то сработает другой. Примечание 2: Для некоторых программ, например для Firefox или для софта из пакета MS Office (там не совсем стандартный UI) скрипт придется переписывать. Можно попробовать утилиту Spy++ от майкрософт. Она мониторит обращения к окнам и элементам, с ее помощью можно выловить нужные параметры для конкретной проги. Цитата: В StrokesPlus нужно нажать Add App и навести Find Window "прицел" на воспроизводящийся ролик в Youtube, потом убрать лишние строки, вроде File Name "FlashPlayerPlugin_16_0_0_350.exe" ибо при обновлении флеша они меняются, главное оставить свой Control Class Name. | Тоже способ. Но мой скрипт работы с флэшем в браузере имеет важное преимущество - не нужно подгонять скрипт под интерфейс Firefox (под ту же адресную строку) - работает с любым размером окна браузера(FF) Минус в том, что мелькает меню. В моем случае для работы внутри флэш-плагина хватило указать только Control Class Name равный GeckoPluginWindow. shadow_member Цитата: 1. в процессе настройки появилось окно с расшифровкой клавиш, напр., CTRL- это ^, ALT- это %, а теперь не могу его вызвать, чтобы уточнить вводы по другим клавишам. | В окне редактирования жеста. Жмем "Available Actions" - выбираем "acSendKeys" - "Info" | Всего записей: 1988 | Зарегистр. 10-03-2006 | Отправлено: 01:23 20-02-2015 | Исправлено: PREVED, 14:26 20-02-2015 |
|