¿Hay alguna manera de forzar que la nueva aplicación de calculadora en Windows 10 abra solo una instancia de sí misma?

¿Hay alguna manera de forzar que la nueva aplicación de calculadora en Windows 10 abra solo una instancia de sí misma?

Acabo de actualizar de Windows 8.1 a Windows 10 Pro y realmente estoy disfrutando la nueva aplicación de calculadora, excepto por el hecho de que abre una nueva instancia cada vez que uso la tecla de calculadora de mi teclado.

¿Hay alguna manera de forzar que sea una aplicación de instancia única como lo era la calculadora en Windows 8.1 sin obligarme a usar una aplicación diferente?

Respuesta1

UsarAHK. Asigne la tecla de su calculadora al siguiente script (este está asignado a Win+ Z):

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

Respuesta2

Simplemente inicie la aplicación y fíjela a la barra de tareas. Luego, lo inicia haciendo clic o usando los atajos Win+1, Win+2, etc. Tanto al hacer clic como al usar el atajo se ejecuta solo una instancia de la aplicación. Si la instancia ya se está ejecutando y repite el acceso directo, solo activará el foco de la aplicación.

Si alguna vez decide iniciar otra instancia, simplemente haga clic derecho en el ícono en la barra de tareas y haga clic en el nombre de la aplicación. En mi opinión, el uso de estos atajos aumenta la eficiencia del trabajo y reduce notablemente el agotamiento mental.

captura de pantalla de la aplicación de calculadora

Respuesta3

Un método que no implicaAHK:

Opté por otro método que implicaba colocar un script en algún lugar visible para %PATH% y editar el registro para llamar al script.

Esa edición del registro es la siguiente:

Establezca la clave
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18\ShellExecute
en el valor "scriptname.wsf", que es el nombre que elija para el archivo de secuencia de comandos.

El script que utilicé fue:

<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>

Esto se basó en una respuesta a la pregunta de Stack Overflow.Cómo ejecutar una instancia única de calculadora (calc.exe) en Windows.

Pero el script que escribieron no funcionó en Windows 10, así que combiné algunos fragmentos de otras fuentes para crear el mío, que sí funciona. Un milagro, ya que no sé nada sobre VBScript, pero es una opción que funciona si no quieres ejecutar AHK.

información relacionada