Como fazer com que o atalho de teclado personalizado do Windows inicie uma nova instância de programa toda vez que é invocado?

5

Eu sei que posso criar atalhos de teclado personalizados no Windows (pelo menos 7 e XP) criando um novo atalho para um programa, navegando até Propriedades no atalho de arquivo e definindo o campo "Tecla de atalho". Estranhamente, no entanto, quando esse atalho de teclado é chamado, ele nem sempre gera uma nova instância do programa. Em vez disso, se uma instância do programa já não tiver sido gerada, ela gerará uma nova instância; e se uma instância do programa já tiver sido gerada, ela se concentrará nessa janela.

Como posso criar um atalho de teclado do Windows que gera uma nova instância do programa vinculado, independentemente de já existir uma instância em execução do programa vinculado?

    
por jbeard4 22.12.2011 / 07:32

4 respostas

6

Eu pareço ser o embaixador AutoHotkey aqui no Superusuário. Aqui está um script simples para iniciar um novo processo cada tempo:

#n::
Run notepad.exe
Exit
  • #n:: é o atalho de teclado; por exemplo. Windows + N .
  • Run abre um programa externo; por exemplo. %código%
  • notepad.exe termina o tópico / script atual.
por 22.12.2011 / 07:57
6

Eu sei que esta é uma pergunta muito antiga, mas eu tive um problema semelhante e encontrei uma solução que não requer um aplicativo de terceiros.

No Windows 7/8, você pode alternar rapidamente para aplicativos pressionando Windows + [number], em que number é a posição do aplicativo na barra de tarefas. Você também pode fixar seus aplicativos na barra de tarefas usando o menu de contexto do botão direito do mouse. Por fim, você pode iniciar novas instâncias de um aplicativo na barra de tarefas pressionando Windows + Shift + [number]. Isso funciona muito bem para mim quando quero iniciar novas instâncias do cygwin, onde normalmente tenho 3 ou mais janelas e vários monitores; Eu tenho o cygwin fixado na barra de tarefas para que o [número] não mude, e eu posso rapidamente iniciar novas instâncias e alternar entre as instâncias atualmente em execução facilmente usando a chave do Windows.

Espero que ajude todo mundo lá fora!

    
por 13.11.2013 / 19:53
2

Existe uma solução direta sem nenhum programa auxiliar - basta usar esse alvo de atalho:

%comspec% /c start notepad

Se o alvo real tiver um caminho com espaços, a sintaxe se torna

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

Configure o atalho para ser executado minimizado para evitar o flash da janela do console.

    
por 10.05.2017 / 14:45
1

Eu tive o mesmo problema com o meu atalho de teclado Cygwin e depois de um pouco de pesquisa eu encontrei este lifehacker > :

Shortcut keys work differently depending on the location of the shortcut. If the shortcut is on the desktop or in the Start menu hierarchy, you can use its shortcut key to start the assigned program, or switch to the program if it is already running.

If the shortcut is not on the desktop or in the Start menu hierarchy, you cannot use its shortcut key to start the assigned program, but you can use its shortcut key to switch to the assigned program if it is already running.

Notei que executar o Cygwin.bat por padrão inicia um shell de login do bash dentro do Prompt de Comando do Windows, que não é o que eu queria. O que eu queria era uma instância do mintty executando o shell de login do bash. Eu encontrei esta documentação realmente útil que ajudou a resolver o meu dilema de atalho.

    
por 02.03.2017 / 18:36