Надежные пользовательские сочетания клавиш Windows?

Мне присвоили глобальные сочетания клавиш Windows нескольким различным экземплярам cmd.exe. Я делаю это путем создания ярлыков на cmd.exe на моем рабочем столе и присвоения каждому уникального сочетания клавиш (например, CTRL + SHIFT + U). Довольно основной материал. Я использую Win2K8 (R1 и R2).

Это работает просто великолепно... большую часть времени. Но с приводящей в бешенство регулярностью, иногда это не делает. Или это будет работать с длительной задержкой (много секунд). Не имеет значения, какое приложение в настоящее время фокусируется (это может даже быть одна из командных строк). Не имеет значения, какие ключи я присваиваю (я попробовал несколько изменений WIN, CTRL и SHIFT). Я действительно замечал, что это часто, но не всегда, коррелируемый с explorer.exe, борющимся так или иначе (скажите, окно проводника, открытое доле файла, это недоступно, или приложение, являющееся безразличным, или безотносительно). Другими словами, обработка сочетания клавиш, кажется, очень чувствительна к несвязанному системному действию. Обратите внимание, что каждый раз, когда у меня есть эта проблема, я могу всегда успешно ALT + ВКЛАДКА к окну, до которого я хочу добраться, но это утомительно.

Я использую ярлыки на эти командные окна сотни времен в день, поэтому даже 1%-я интенсивность отказов становится действительно раздражающей.

Существует ли способ зафиксировать это, или действительно ли там некоторое третье лицо является утилитой там, которая НАДЕЖНО прервет пользовательские сочетания клавиш для обеспечения фокуса к любым приложениям, которые я хочу, способом который независим от другого системного действия?

ПРИЛОЖЕНИЕ:

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

9
задан 19.02.2010, 00:29

5 ответов

Используйте Автогорячую клавишу. Язык сценариев является нестандартным и может быть трудным учиться, но если все, что Вы желаете сделать, надежно запустить программы, его простое. Плюс Вы может основывать ярлыки от ключа Windows! Используйте после демонстрационного сценария и измените его к своим потребностям. (Строки, запускающиеся с ; комментарии.)

;win + alt + e ... unload ipod
#!E::
   run d:\Downloads\Apps\deveject\eject ipod.bat
   return

;win + w ... launch winamp
#w::
    run c:\program files (x86)\winamp\winamp.exe
    return

;win + a ... launch AS400
#a::
    run C:\Program Files (x86)\IBM\Client Access\Emulator\Private\1.ws
    return

;win + Shift a ... launch AS400 Printer
#+a::
    run C:\Program Files (x86)\IBM\Client Access\Emulator\Private\3.ws
    return

;win + ctrl + Shift a ... launch 2nd AS400 
#^+a::
    run C:\Program Files (x86)\IBM\Client Access\Emulator\Private\2.ws
    return

Сохраните это как .ahk файл на Вашем рабочем столе, установите автогорячую клавишу и выполните его.

Каждый раз, когда Вы нажимаете любое сочетание клавиш, AutoHotkey просканирует этот сценарий. Если это соответствует какому-либо из сочетаний клавиш, которые предшествуют a ::, это выполнит следующую команду. Если оператор возврата будет отсутствовать, то AHK продолжит сканировать сценарий для соответствий после выполнения Вашего оператора. Сочетания клавиш описаны ниже.

# = Windows Key
+ = Shift
^ = Control
! = Alt

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

; ALT Backtick ... ctrl f4
!`::
    Loop, parse, RcvCtrlW, `,
    {
     IfWinActive %A_LoopField%
     {
        sendinput ^w
        Return
     }
    }
    sendinput ^{f4}
    return

; win Backtick ... alt f4
#`::
   sendinput !{f4}
   return   

Это - Высокий звук + 'и Win + '. Когда этот сценарий работает, и я нажимаю высокий звук +', сценарий отправляет ctrl + F4. Win +' становится высоким звуком + F4.

Автогорячая клавиша является в основном своим собственным языком программирования. Мне настраивали сценарии, которые моделируют "Жесты Рокера" в масштабе всей системы. У меня есть Gmail как ярлыки для моей электронной почты. Если Вы проводите время для изучения некоторых его приемов, можно стать гаек с ним. Lifehacker имеет целый набор полезных сценариев для Автогорячей клавиши.развлекайтесь!

7
ответ дан 07.12.2019, 13:14

Еще одна альтернатива для запуска программ быстро и интуитивно:

Launchy

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

Launchy индексирует программы в Вашем меню "Пуск" и может запустить Ваши документы, файлы проекта, папки и закладки со всего несколькими нажатиями клавиш!

alt text

3
ответ дан 07.12.2019, 13:14

Это - весьма связанное действие, проводник является процессом, который обрабатывает эти ярлыки.

Существуют утилиты (например, http://www.vsisystems.com/keyboardshortcuts.htm), что смысл, чтобы иметь эту функциональность, но я не знаю, решил ли какой-либо из них проблему скорости.

1
ответ дан 07.12.2019, 13:14

Если Проводник занят затем, он не может обработать ярлыки, таким образом, другая программа требуется.

Простым и эффективным средством запуска является PS Горячий Запуск VVL:

Это - свободная утилита, которая позволяет Вам определять свои собственные горячие клавиши так, чтобы одно нажатие клавиши могло запустить приложение, вставить наиболее часто используемый текст, изменить Вашу громкость или примерно что-либо еще. Программа требует Win95/98/ME или WinNT/2000/XP, и является превосходным исполнителем даже на медленных машинах. PS Горячий Запуск является идеальной альтернативой Меню "Пуск" и Быстрому Пусковому пульту.

image

1
ответ дан 07.12.2019, 13:14

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

Как пример, я сцепился Caps Lock+a к окну Firefox на Переполнении стека, Caps Lock+s к Firefox в суперпользователе, и Caps Lock+d к командной строке.

StartOrToggleMinimize(TheWindowTitle,TheAppPath)
{  
   SetTitleMatchMode, 2
   DetectHiddenWindows, Off
   IfWinActive, %TheWindowTitle%
   {
      WinMinimize, %TheWindowTitle%
   }
   else
   { 
      IfWinExist, %TheWindowTitle%
      {
         WinGet, winid, ID, %TheWindowTitle%
         DllCall("SwitchToThisWindow", "UInt", winid, "UInt", 1)
      }
      else
      {
         run %TheAppPath%
      }
   }
   return
}

; the actual hotkeys:
CapsLock & a::StartOrToggleMinimize("Stack Overflow", "c:\program files\mozilla firefox\firefox.exe -new-window stackoverflow.com")
CapsLock & s::StartOrToggleMinimize("Super User", "c:\program files\mozilla firefox\firefox.exe -new-window superuser.com")
CapsLock & d::StartOrToggleMinimize("cmd", "cmd")

Можно изменить режим матча за титул, чтобы быть столь строгими, как Вам нужно. Если бы у меня была другая горячая клавиша, которая соответствовала на "Mozilla Firefox" (вместо "Суперпользователя", то например) это циклически повторилось бы через все мои экземпляры Firefox, так как у каждого есть тот текст в заголовке окна, и у меня есть он набор для соответствия тексту где угодно в заголовке.

Этот сценарий в большой степени основан на этой статье в LifeHacker.

3
ответ дан 07.12.2019, 13:14

Теги

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