Acabei de atualizar do Windows 8.1 para o Windows 10 Pro e estou gostando muito do novo aplicativo de calculadora, exceto pelo fato de que ele abre uma nova instância sempre que uso a tecla de calculadora do teclado.
Existe uma maneira de forçá-lo a ser um aplicativo de instância única, como a calculadora do Windows 8.1, sem me forçar a usar um aplicativo diferente?
Responder1
UsarAHK. Mapeie a tecla da sua calculadora para o seguinte script (este é mapeado para Win+ Z):
#z::
IfWinExist Calculator
WinActivate
else
Run calculator://
return
Responder2
Basta iniciar o aplicativo e fixá-lo na barra de tarefas. Então você inicia clicando ou usando os atalhos Win+1, Win+2 etc. Clicar e usar o atalho executa apenas uma instância do aplicativo. Se a instância já estiver em execução e você repetir o atalho, você apenas chamará o foco do aplicativo.
Se você decidir iniciar outra instância, basta clicar com o botão direito no ícone da barra de tarefas e clicar no nome do aplicativo. Na minha opinião, usar esses atalhos aumenta a eficiência do trabalho e reduz significativamente o esgotamento mental.
Responder3
Um método que não envolveAHK:
Optei por outro método que envolvia colocar um script em algum lugar visível para% PATH% e editar o registro para chamar o script.
Essa edição do registro é a seguinte:
Defina a chave
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18\ShellExecute
como o valor "scriptname.wsf", que é o nome que você escolher para nomear o arquivo de script.
O script que usei foi:
<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>
Isso foi baseado em uma resposta à pergunta Stack OverflowComo executar uma única instância da calculadora (calc.exe) no Windows.
Mas o script que eles escreveram não funcionou no Windows 10, então combinei alguns bits de outras fontes para fazer o meu, o que funciona. Um milagre, já que não sei nada sobre VBScript, mas é uma opção funcional, se você não quiser rodar AHK.