我怎样才能使开始菜单始终创建新的程序实例?

我怎样才能使开始菜单始终创建新的程序实例?

我喜欢启动记事本等程序的“WinKey + 输入“note” + Enter”工作流程。但是,我有一个无法克服的巨大烦恼,从第一天起就让我烦恼不已。当我已经打开记事本实例时,这不会创建新实例。相反,它会将我已经打开的实例带到屏幕前面。我有绝不打开了太多程序,我需要能够在打开的程序中搜索,以便将我感兴趣的程序放在最上面。我发现解决这个问题的唯一方法是右键单击该程序的任务栏项目,然后从那里单击程序名称,这将启动该程序的新实例

那么,我怎样才能禁用此“功能”,并使得当我在搜索屏幕上按下“Enter”键时,它总是创建该程序的新实例?

答案1

“简单”的方法是按 Shift + Enter。

另一种方法是永久地对特定应用程序执行此操作。以记事本为例:

  1. 右键单击图块。
  2. 单击打开文件位置。
  3. 右键单击快捷方式。
  4. 将目标更改为:

    %windir%\system32\cmd.exe /c start %windir%\system32\notepad.exe
    

    一般来说,您可以对任何快捷方式(包括在搜索框中键入时弹出的任何快捷方式)执行此操作,并通过将其添加cmd.exe /c start到通常的目标路径之前来执行此操作。

对于 Windows 8,有一个注册表调整(来源):

  1. 打开注册表编辑器。
  2. 转到 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ImmersiveShell
  3. 在右窗格中单击鼠标右键,然后创建一个名为 DesktopAppsAlwaysLaunchNewInstance 、类型为 DWORD 的新值(如果已存在,则跳过此步骤)。
  4. 将其值设置为 1。
  5. 注销然后重新登录。

此调整在 8.1 中不再有效。在 8.1 中有一个疯狂的 hack(来源):

  1. 安装适用于 Windows 的调试工具(从 MSDN 免费下载)
  2. 在您的计算机上创建一个目录来存储符号([作者使用] c:\localsymbols)
  3. 在桌面上创建一个快捷方式来运行它(替换两个路径以指向您需要的任何位置):

    [path_to_debugging_tools]\ntsd.exe -pn explorer.exe -pv -y SRV*[path_to_local_symbols]*http://msdl.microsoft.com/download/symbols -c "eb Windows_UI_Search!SearchUI::Data::SwitchToApp b8 00 00 00 00 c3; q"
    
  4. 双击快捷方式... [...现在它应该可以工作了。]

为什么微软选择这样做,而现有的所有其他操作系统和 Windows 的过去版本都做了相反的事情,这让我有点不明白。至少他们让 shift + enter 功能可用,但显然他们认为大多数用户无法跟踪他们打开的窗口或使用任务栏(并且主要操作系统中的 UI 决策正是为什么用户最终会这样)并且“启动记事本”并不意味着启动记事本。因此,他们继续将输入命令归于“高级”用户的范畴。

答案2

Shift按下 时按住Enter

这并不适用于每个应用程序,但它可以适用于记事本或任何其他可以有多个实例的应用程序。

相关内容