Запуск приложений или выполнение команд в Windows с помощью сочетаний клавиш

Запуск приложений или выполнение команд в Windows с помощью сочетаний клавиш

Можно ли зарегистрировать ярлыки в Windows 7 так, чтобы независимо от того, куда вы смотрите (на рабочий стол, в папку и т. д.), ярлык был «услышан» и соответствующее действие выполнялось?

Например, создание ярлыка в папке System32, который будет работать, если вы используете команду «Выполнить» с именем ярлыка, не будет работать, если вы зададите комбинацию клавиш, когда фокус установлен, например, на рабочем столе.

Существует ли собственный способ регистрации сочетаний клавиш верхнего уровня или хотя бы приложение для включения этой возможности?

Примеры вещей, для которых мне нужны сочетания клавиш:

  • открыть определенную папку, например %path%
  • создать новый файл .js в текущей папке
  • запустить приложение в конечном итоге с его путем, установленным в текущем местоположении, если приложение поддерживает это (например, командная строка)

Спасибо.

решение1

Вы, вероятно, могли бы сделать это сAutoHotKey.

Например, предположим, что вы хотите, чтобы сочетание клавиш Win+ Sзапускало MyScript. Установите AutoHotKey, скопируйте следующее в файл AutoHotkey.ahk и перезапустите AutoHotKey:

SetTitleMatchMode RegEx
return

; Stuff to do when Windows Explorer is open
;
#IfWinActive ahk_class ExploreWClass|CabinetWClass

    #s::
        LaunchMyScriptInCurrent()
    return
#IfWinActive


; Launches a custom script in the directory browsed in Explorer.
; Note: expecting to be run when the active window is Explorer.
;
LaunchMyScriptInCurrent()
{
    ; This is required to get the full path of the file from the address bar
    WinGetText, full_path, A

    ; Split on newline (`n)
    StringSplit, word_array, full_path, `n
    ; Take the first element from the array
    full_path = %word_array1%   

    ; strip to bare address
    full_path := RegExReplace(full_path, "^Address: ", "")

    ; Just in case - remove all carriage returns (`r)
    StringReplace, full_path, full_path, `r, , all

    IfInString full_path, \
    {
        Run, C:\Path\To\MyScript "%full_path%"
    }
    else
    {
        Run, C:\Path\To\MyScript "C:\ "
    }
}

Вдохновлено этими двумя ответами:

  1. https://superuser.com/a/205368/118346
  2. https://stackoverflow.com/a/100648/1005455

Связанный контент