Мне присвоили глобальные сочетания клавиш Windows нескольким различным экземплярам cmd.exe. Я делаю это путем создания ярлыков на cmd.exe на моем рабочем столе и присвоения каждому уникального сочетания клавиш (например, CTRL + SHIFT + U). Довольно основной материал. Я использую Win2K8 (R1 и R2).
Это работает просто великолепно... большую часть времени. Но с приводящей в бешенство регулярностью, иногда это не делает. Или это будет работать с длительной задержкой (много секунд). Не имеет значения, какое приложение в настоящее время фокусируется (это может даже быть одна из командных строк). Не имеет значения, какие ключи я присваиваю (я попробовал несколько изменений WIN, CTRL и SHIFT). Я действительно замечал, что это часто, но не всегда, коррелируемый с explorer.exe, борющимся так или иначе (скажите, окно проводника, открытое доле файла, это недоступно, или приложение, являющееся безразличным, или безотносительно). Другими словами, обработка сочетания клавиш, кажется, очень чувствительна к несвязанному системному действию. Обратите внимание, что каждый раз, когда у меня есть эта проблема, я могу всегда успешно ALT + ВКЛАДКА к окну, до которого я хочу добраться, но это утомительно.
Я использую ярлыки на эти командные окна сотни времен в день, поэтому даже 1%-я интенсивность отказов становится действительно раздражающей.
Существует ли способ зафиксировать это, или действительно ли там некоторое третье лицо является утилитой там, которая НАДЕЖНО прервет пользовательские сочетания клавиш для обеспечения фокуса к любым приложениям, которые я хочу, способом который независим от другого системного действия?
ПРИЛОЖЕНИЕ:
Существует свойство ярлыков Windows, которые я не хотел бы терять при переключении на сторонний инструмент горячей клавиши: ярлыки Windows являются идемпотентом. После того как Вы запустили ярлык на некоторое приложение, нажимание комбинации сочетания клавиш снова берет Вас к уже запущенному процессу - это не запускает новый процесс.
Используйте Автогорячую клавишу. Язык сценариев является нестандартным и может быть трудным учиться, но если все, что Вы желаете сделать, надежно запустить программы, его простое. Плюс Вы может основывать ярлыки от ключа 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 имеет целый набор полезных сценариев для Автогорячей клавиши.развлекайтесь!
Еще одна альтернатива для запуска программ быстро и интуитивно:
Launchy является свободными окнами и утилитой Linux, разработанной, чтобы помочь Вам забыть о Вашем меню "Пуск", значках на Вашем рабочем столе и даже Вашем файловом менеджере.
Launchy индексирует программы в Вашем меню "Пуск" и может запустить Ваши документы, файлы проекта, папки и закладки со всего несколькими нажатиями клавиш!
Это - весьма связанное действие, проводник является процессом, который обрабатывает эти ярлыки.
Существуют утилиты (например, http://www.vsisystems.com/keyboardshortcuts.htm), что смысл, чтобы иметь эту функциональность, но я не знаю, решил ли какой-либо из них проблему скорости.
Если Проводник занят затем, он не может обработать ярлыки, таким образом, другая программа требуется.
Простым и эффективным средством запуска является PS Горячий Запуск VVL:
Это - свободная утилита, которая позволяет Вам определять свои собственные горячие клавиши так, чтобы одно нажатие клавиши могло запустить приложение, вставить наиболее часто используемый текст, изменить Вашу громкость или примерно что-либо еще. Программа требует Win95/98/ME или WinNT/2000/XP, и является превосходным исполнителем даже на медленных машинах. PS Горячий Запуск является идеальной альтернативой Меню "Пуск" и Быстрому Пусковому пульту.
Вот то, как я использую 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.