![有没有办法强制 Windows 10 中的新计算器应用程序只打开其自身的一个实例?](https://linux22.com/image/1466252/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%BC%BA%E5%88%B6%20Windows%2010%20%E4%B8%AD%E7%9A%84%E6%96%B0%E8%AE%A1%E7%AE%97%E5%99%A8%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%8F%AA%E6%89%93%E5%BC%80%E5%85%B6%E8%87%AA%E8%BA%AB%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E4%BE%8B%EF%BC%9F.png)
我刚刚从 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,这是一个可行的选择。