1

В Windows (XP, 7, 8), как быстро назначить сочетания клавиш для запуска ваших любимых приложений, используя autohotkey, когда приложение активно.

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

Я бродил, если это можно сделать с помощью autohotkey, а также.

Отредактировано:

Обычно, чтобы добавить скрипт, который при Ctrl+Alt+N запускается Блокнот. Вам нужно будет иметь следующий скрипт.

^!n:: Запустить Блокнот

Я хочу, чтобы, когда приложение активно, нажатие Ctrl + Shift + A должно указывать путь, по которому приложение установлено, и создавать скрипт, как описано выше.

Поэтому, когда командная строка активна, нажатие Ctrl + Shift + A должно создать скрипт, подобный следующему.

^!t:: Run C:\WINDOWS\system32\cmd.exe

где C:\WINDOWS\system32\cmd.exe - это путь, где cmd установлен / расположен

и Ctrl + Shift + T - это сочетание клавиш.

2 ответа2

1

Это не то, что вы можете сделать легко.

Вы можете сделать что-то вроде: https://stackoverflow.com/questions/12851677/dynamically-create-autohotkey-hotkey-to-function-subroutine

Или вы можете изменить свой файл во время выполнения и перезагрузить его.

#SingleInstance Force
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

^!n::
    WinGet, pn, ProcessName, A
    path := GetProcessPath(pn)
    tooltip, press a new hotkey
    Input, new_hotkey, L1
    tooltip,

    code = ^!%new_hotkey%`:`:Run, %path%`n
    FileAppend, %code%, %A_ScriptFullPath%

    Reload
    Sleep 1000 ; If successful, the reload will close this instance during the Sleep, so the line below will never be reached.
    MsgBox, 4,, The script could not be reloaded. Would you like to open it for editing?
    IfMsgBox, Yes, Edit
    return


GetProcessPath(exe) {
    ;;http://www.autohotkey.com/board/topic/32965-getting-file-path-of-a-running-process/
    for process in ComObjGet("winmgmts:").ExecQuery("Select * from Win32_Process where name ='" exe "'")
        return process.ExecutablePath
}

return

Hotkeys:
^!f::Run, C:\Program Files\Mozilla Firefox\firefox.exe
0

Да, ты можешь. В следующем примере запускается проводник при нажатии Win+0 (# обозначает клавишу Window в AHK):

#0::Run C:\Windows\System32\explorer.exe

Если приложение не запускается, потому что оно уже запущено, вы можете создать пакетный файл, содержащий:

start program.exe

И скажите сценарию AHK, что нужно запустить этот пакетный файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .