Abrindo o aplicativo de console do Windows em uma nova janela usando a tecla de atalho

1

Se eu criar um atalho do Windows 8 para um aplicativo de console e definir uma tecla de atalho (conforme a captura de tela abaixo), usar esse atalho enquanto o aplicativo já estiver aberto não abrirá o aplicativo novamente, mas alterará o foco para a janela contendo o aplicativo em execução.

Esse comportamento difere do que acontece se eu simplesmente abrir o atalho sem pressionar as teclas de atalho, nesse caso um novo aplicativo é aberto. Por outro lado, para aplicativos que não são de console, pressionar as teclas de atalho abrirá uma nova janela, mesmo que uma já esteja aberta.

Portanto, existe alguma maneira de fazer com que as teclas de atalho de um atalho de aplicativo de console sempre abram um novo aplicativo?

As soluções para este StackOverflow pergunta parecem sugerir que usar start cmd /c para executar o aplicativo relevante pode ser útil, mas isso não parece fazer o trabalho no caso de atalhos.

    
por fuglede 14.03.2018 / 12:48

1 resposta

1

using that shortcut while the application is already open will not open the application again but rather change focus to the window containing the running application.

Quando você define uma tecla de atalho nas propriedades de atalho, o Windows aplica essa tecla de atalho à janela ( WM_SETHOTKEY ) o aplicativo cria. Claro que isso leva ao comportamento observado. Se o aplicativo já estiver iniciado - o atalho é processado "pela janela do aplicativo" e a instância iniciada é apenas focada. Mas quando você clica duas vezes no atalho - o Windows não processa hotkey.

On the other hand, for non-console applications, pressing the shortcut keys will open a new window even if one is already open.

Isso ocorre porque esses aplicativos ignoram a mensagem WM_SETHOTKEY . E isso pode ser considerado um bug dessas aplicações.

using start cmd /c ... to run the relevant application might be helpful, but that doesn't seem to do the job in the case of shortcuts.

Essa é a solução mais simples. Por que você não gosta?

Você pode executar o shell como

start "your bash" cmd /c sh.exe"

E configure as cores por meio das propriedades da janela do console (não um atalho). Depois disso, as cores serão aplicadas a novas instâncias.

Ou você pode experimentar o ConEmu. Há muitas opções, por exemplo, o recurso Terminal padrão .

    
por 14.03.2018 / 15:44