5

Я знаю, что могу создавать собственные сочетания клавиш в Windows (по крайней мере, 7 и XP), создав новый ярлык для программы, перейдя в Свойства на ярлыке файла и установив поле "Сочетание клавиш". Как ни странно, однако, когда вызывается это сочетание клавиш, оно не всегда порождает новый экземпляр программы. Скорее, если экземпляр программы еще не создан, он создаст новый экземпляр; и если экземпляр программы уже создан, то он будет фокусироваться на этом окне.

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

4 ответа4

6

Я, кажется, посол AutoHotkey здесь на Superuser. Вот простой скрипт для запуска нового процесса каждый раз:

#n::
Run notepad.exe
Exit
  • #n:: это сочетание клавиш; например, Windows+N.
  • Run открывает внешнюю программу; например, notepad.exe
  • Exit завершает текущий поток / скрипт.
6

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

В Windows 7/8 вы можете быстро переключаться на приложения, нажимая Windows+ [число], где число - это позиция приложения на панели задач. Вы также можете закрепить свои приложения на панели задач, используя контекстное меню правой кнопкой мыши. Наконец, вы можете запустить новые экземпляры приложения на панели задач, нажав Windows+ Shift+ [число]. Это очень хорошо работает для меня, когда я хочу запустить новые экземпляры Cygwin, где у меня обычно 3+ окна и несколько мониторов; Я прикрепил cygwin к панели задач, чтобы [число] не изменилось, и я могу быстро запускать новые экземпляры и легко переключаться между запущенными в данный момент экземплярами с помощью клавиши Windows.

Надеюсь, что это поможет всем!

2

Существует прямое решение без каких-либо вспомогательных программ - просто используйте эту цель ярлыка:

%comspec% /c start notepad

Если фактическая цель имеет путь с пробелами, синтаксис становится

%comspec% /c start "" "C:\Program Files (x86)\Foo\bar.exe"

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

1

У меня была та же проблема с моим сочетанием клавиш Cygwin, и после небольшого исследования я нашел эту статью Lifehacker:

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

Если ярлык отсутствует на рабочем столе или в иерархии меню «Пуск», вы не можете использовать его ярлык для запуска назначенной программы, но вы можете использовать его ярлык для переключения на назначенную программу, если она уже запущена.

Я заметил, что при запуске Cygwin.bat по умолчанию запускается командная оболочка bash в командной строке Windows, а это не то, что я хотел. Я хотел, чтобы mintty запустил оболочку входа в систему bash. Я нашел эту действительно полезную документацию, которая помогла разобраться в моей краткой дилемме.

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