WedX - журнал о программировании и компьютерных науках

Как написать скрипт, который создает горячие клавиши?

У меня есть много маленьких горячих клавиш, таких как:

; Open CMD
#c::
    Run, cmd.exe
    WinWait, ahk_exe cmd.exe
    WinActivate
Return

Я хотел бы создать функцию, которая принимает исполняемый файл и горячую клавишу, и свяжет приложение с этой горячей клавишей. Вот что у меня есть до сих пор:

bind_exe_to_hotkey(exe,hotkey)
{
    run_label:
        Run, %exe%
        WinWait, ahk %exe%
        WinActivate
    Return

    HotKey, %hotkey%, run_label
}

bind_exe_to_hotkey("cmd.exe","#c")

Однако это просто открывает командное окно. Что я делаю не так? Есть ли более простой/лучший способ сделать это?

03.02.2017

  • Ваша функция просто открывает командное окно, потому что она возвращается до выполнения HotKey. run_label ничего не делает; это просто goto-подобный указатель входа. Операторы Run, WinWait и WinActivate выполняются, а затем функция возвращается до того, как будет достигнут оператор HotKey. 03.02.2017

Ответы:


1

Привязывает ключ к функции, которая обрабатывает запуск исполняемого файла:

#c: launch("cmd.exe")
#n: launch("notepad.exe")

launch(exe)
{
   Run, %exe%
   WinWait, ahk %exe%
   WinActivate
}
03.02.2017
Новые материалы

Как создать диаграмму градиентной кисти с помощью D3.js
Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


Для любых предложений по сайту: [email protected]