有没有办法强制 Windows 10 中的新计算器应用程序只打开其自身的一个实例?

有没有办法强制 Windows 10 中的新计算器应用程序只打开其自身的一个实例?

我刚刚从 Windows 8.1 升级到 Windows 10 Pro,我非常喜欢新的计算器应用程序,除了每次我使用键盘的计算器键时它都会打开一个新实例。

有没有办法强制它成为单实例应用程序,就像 Windows 8.1 中的计算器一样,而无需强迫我使用其他应用程序?

答案1

使用德国工商会. 将计算器键映射到以下脚本(此脚本映射到Win+ Z):

#z::
IfWinExist Calculator
WinActivate
else
Run calculator://
return

答案2

只需启动应用程序并将其固定到任务栏即可。然后,您可以通过单击或使用快捷键 Win+1、Win+2 等来启动它。单击和使用快捷方式都只会执行应用程序的一个实例。如果实例已在运行,并且您重复快捷方式,则只会调用应用程序的焦点。

如果你决定要启动另一个实例,只需右键单击任务栏中的图标,然后单击应用程序名称即可。在我看来,使用这些快捷方式可以明显提高工作效率并降低精神疲劳。

计算器应用程序的屏幕截图

答案3

不涉及德国工商会

我采用了另一种方法,将脚本放在 %PATH% 可见的位置,然后编辑注册表来调用该脚本。

该注册表编辑如下:

将键设置
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18\ShellExecute
为值“scriptname.wsf”,即您选择命名脚本文件的名称。

我使用的脚本是:

<package>
   <job id="vbs">
      <script language="VBScript">
         Set WshShell = WScript.CreateObject ("WScript.Shell")
         Set colProcessList = GetObject("Winmgmts:").ExecQuery ("Select * from Win32_Process")
         
         For Each objProcess in colProcessList
         If objProcess.name = "Calculator.exe" then
         vFound = True
         End if
         Next
         
         If vFound then
         WshShell.AppActivate "Calculator"
         Else
         WshShell.run "calc.exe", 5, false
         End If
      </script>
   </job>
</package>

这是基于 Stack Overflow 问题的一个答案如何在 Windows 中运行计算器 (calc.exe) 的单实例

但是他们编写的脚本在 Windows 10 中无法运行,所以我结合了其他来源的一些代码来编写自己的脚本,这样就可以运行了。这真是一个奇迹,因为我对 VBScript 一无所知,但如果你不想运行 AHK,这是一个可行的选择。

相关内容