Как активировать функциональность AHK

655
Lolo Jones

Я новичок в скриптах AHK и хотел бы иметь возможность нажать #n (клавиша windows + n) и вызвать серию комбинаций клавиш (shift + end, alt + tab, ^ T, ^ V, enter, tab, введите) каждый раз, когда я нажимаю это.

Это насколько я получил, но независимо от того, сколько я читаю в Интернете об этом, я чувствую, что мне нужна дополнительная помощь (примеры, как правило, очень сложные).

(Отредактировал окончательный код, который работал для меня благодаря Роберту Ильбринку, небольшая модификация его предложения)

#SingleInstance Force #installKeybdHook #Persistent SetTitleMatchMode, 2 #IfWinActive, Word ; #n will only trigger when working inside Word. #n:: ; [Win]+n trigger key ClipBoard = ; Clear ClipBoard Send, + ; [Shift]+[End] Send, ^c ; Store selected text in ClipBoard Sleep, 100 ; ClipWait seems unreliable WinActivate, ahk_class Chrome_WidgetWin_1 Send, ^t ; In my Chrome setup I immediately get a Google search page. Send, ^v; Send, ; Sleep, 1000 ; Send, ; ;SoundBeep, 500, 500 Return #IfWinActive 
0
Лоло, что ты хочешь? Создать новую вкладку в Chrome? Я не уверен, почему вы отправляете несколько команд LShift и RCtrl. Вы пытаетесь сфокусироваться на новой вкладке Chrome, но как вы можете быть уверены, что эта новая вкладка Chrome есть (вы можете запустить #n внутри Блокнота, и ничего полезного не произойдет) .. Так что же вам нужно? Robert Ilbrink 11 лет назад 0
Хорошо, я уточню: я постоянно проверяю некоторые файлы слов. Время от времени мне нужно скопировать строку (Shift + End), Alt Tab (у меня всегда будет хром после слова), открыть новую вкладку, вставить скопированную строку, поиск в Google, Tab + Enter, чтобы открыть первый результат. У меня есть RSI, и автоматизация этого процесса, который я делаю буквально сотни раз в день, поможет моему состоянию. Lolo Jones 11 лет назад 0

1 ответ на вопрос

0
Robert Ilbrink

Лоло, я попробую, но я все еще озадачен.

#SingleInstance Force #installKeybdHook #Persistent SetTitleMatchMode, 2 #IfWinActive, Word ; #n will only trigger when working inside Word. #n:: ; [Win]+n trigger key ClipBoard = ; Clear ClipBoard Send, + ; [Shift]+[End] Send, ^c ; Store selected text in ClipBoard Sleep, 100 ; ClipWait seems unreliable WinActivate, ahk_class Chrome_WidgetWin_1 Send, ^t ; In my Chrome setup I immediately get a Google search page. WinWaitActive, Google - Google Chrome ; Wait for Google search Page Send, %ClipBoard% ; Send ClipBoard Text to Google WinWaitActive, %ClipBoard% ; Wait for window title with search string Send,  SoundBeep, 500, 500 Return #IfWinActive 

Добавлена ​​комбинация Tab + Enter. Это НЕ работает на моей машине, так как Tab переходит к черной строке меню Google+ ....

Это не срабатывает при нажатии клавиши. Bob 11 лет назад 0
Я все еще пишу, еще не закончил .... Robert Ilbrink 11 лет назад 0
Комбинация клавиш состоит из нажатия вкладки и затем ввода. Вкладка выбирает первый результат, введите доступ к нему (все это после того, как поиск Google был проведен). Lolo Jones 11 лет назад 0
Почему-то кажется, что нажатие клавиши работает только после запуска AHK, а не после. Например, я запускаю AHK, нажимаю клавишу, и она работает только один раз. После этого я должен снова запустить AHK. Кроме того, он фокусируется на адресной строке Chrome, но не вставляет скопированное. Попытка добавить «Отправить, ^ v», но это не работает (если я вручную нажимаю ^ v, вставляется нужный буфер обмена, так что копирование не проблема) Lolo Jones 11 лет назад 0
Ahk все еще активен в системном трее? Помните, что [Win] + n работает только внутри Word! Robert Ilbrink 11 лет назад 0
Да, AHK все еще активен в systray (я нажимаю #n внутри слова) Lolo Jones 11 лет назад 0
Но он больше не реагирует на [Win] + n, когда внутри Word? Robert Ilbrink 11 лет назад 0
Я проверяю это на своей машине, все пишет по памяти, не проверял. Robert Ilbrink 11 лет назад 0
Именно так. Также иногда он не переключается на хром (alt + tab не отправляется после сна или что-то в этом роде?) Lolo Jones 11 лет назад 0
ОК, попробуйте еще раз, вместо WinWaitActive там был #IfWinActive. Что касается [Alt] + [Tab], именно поэтому я поместил альтернативу [Alt] + [Esc], которая часто, кажется, работает лучше. О, я могу просто активировать Chrome, несмотря ни на что! Robert Ilbrink 11 лет назад 0
Отредактированный вопрос, с указанным кодом мне удается добраться до результатов. Остается одна проблема: возможность вызывать #n в скрипте более одного раза в слове. Lolo Jones 11 лет назад 0
@LoloJones, внесли некоторые изменения и протестировали его на моей системе. Кажется, сейчас работает! Robert Ilbrink 11 лет назад 0
Скрипт зависал, ожидая результата поиска. Это должно быть решено сейчас. Robert Ilbrink 11 лет назад 0
Отлично, это сработало !!!! Единственное изменение, которое я должен был сделать, это заменить три строки между send ^ t и вкладкой send enter для send ^ v и send enter, в моем терминале не работали winwait и send clipboard :). В любом случае, большое спасибо, вы сделали мой день! Lolo Jones 11 лет назад 0
Отлично, надеюсь, вы узнали из этого упражнения, что сами будете создавать сценарии в будущем. Robert Ilbrink 11 лет назад 0
Вероятнее всего. Последний вопрос: как вы решили проблему с зависанием скрипта? Lolo Jones 11 лет назад 0
Так как я не мог использовать [Tab] + [Enter] в конце, я ненадолго заменил его на SoundBeep, 500, 500 и заметил, что система ждала бесконечно, никогда не пиная. Поэтому я изменил WinWaitActive, чтобы искать только строку поиска, а не остальную часть заголовка окна. Пока он ждал, он не мог выполнить следующую команду. Robert Ilbrink 11 лет назад 0

Похожие вопросы