Нейтрализация автогорячей клавиши, если Программа не существует

Я пытаюсь иметь свой cygwin sh программа, открытая, когда я поразил Windows Key + R (это могло столь же легко относиться к любому другому сочетанию клавиш), но я понимаю, что все мои компьютеры не могут иметь установленного cygwin. В случае, где мой компьютер не имеет cygwin, я хотел бы просто открыть Windows Command Prompt.

Как я условно устанавливаю #r (Win+R), отображающийся для достижения этого?

0
задан 13.10.2010, 18:55

2 ответа

Ответ @yhw42 действительно запускал меня, но я нашел более чистое решение:

WinR := "sh"
RunWait, where sh
if ErrorLevel
    WinR := "cmd"

#r::Run %WinR%

Это использует Windows WHERE команда и переменные AutoHotkey.

1
ответ дан 24.11.2019, 03:38

Это не тестируется, но должно запустить Вас:

#r::
Run sh
WinWait,sh,,1
if ErrorLevel
{
   ;it timed out waiting for sh (1 sec)
   Run cmd
}
return

Это пытается работать sh команда cygwin. Используя функцию WinWait, это проверяет, чтобы видеть, было ли это создано (использование заголовка окна "sh", который, возможно, должен быть изменен). В противном случае это отступает к run cmd.

Другая опция, если Вы всегда знаете полный путь sh.exe, можно использовать метод FileExist.

#r::
if FileExist("c:\cygwin\sh.exe")
   Run sh
else
   Run cmd
return
3
ответ дан 24.11.2019, 03:38

Теги

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