如果我为控制台应用程序创建 Windows 8 快捷方式并设置快捷键(参见下面的屏幕截图),那么在应用程序已打开时使用该快捷方式将不会再次打开该应用程序,而是将焦点更改为包含正在运行的应用程序的窗口。
此行为与我直接打开快捷方式而不按快捷键时的情况不同,后者会打开一个新应用程序。另一方面,对于非控制台应用程序,即使已经打开了一个窗口,按快捷键也会打开一个新窗口。
那么,有没有什么办法可以让控制台应用程序快捷方式的快捷键始终打开一个新应用程序?
解决方案这个 StackOverflow 问题似乎表明使用start cmd /c
运行相关应用程序可能会有所帮助,但在快捷方式的情况下这似乎不起作用。
答案1
在应用程序已打开时使用该快捷方式将不会再次打开该应用程序,而是将焦点转移到包含正在运行的应用程序的窗口。
当您在快捷方式属性中设置热键时,Windows 会将此热键应用于窗口(消息:) 应用程序创建。当然,这会导致观察到的行为。如果应用程序已经启动 - 快捷方式由“应用程序窗口”处理,并且启动的实例只是聚焦。但是当您双击快捷方式时 - Windows 不会处理热键。
另一方面,对于非控制台应用程序,即使已经打开一个窗口,按下快捷键也会打开一个新窗口。
这是因为这些应用程序忽略了消息:消息。这可能被认为是这些应用程序的一个错误。
使用
start cmd /c ...
运行相关应用程序可能会有所帮助,但在快捷方式的情况下这似乎不起作用。
这是最简单的解决方案。你为什么不喜欢它?
你可以这样运行 shell
start "your bash" cmd /c sh.exe"
并通过控制台窗口属性配置颜色(不是快捷方式)。之后颜色将应用于新实例。
或者你可以尝试 ConEmu。有很多选择,例如默认终端特征。