방금 Windows 8.1에서 Windows 10 Pro로 업그레이드했는데, 키보드의 계산기 키를 사용할 때마다 새 인스턴스가 열린다는 점을 제외하면 새 계산기 응용 프로그램이 정말 마음에 듭니다.
다른 응용 프로그램을 사용하지 않고도 Windows 8.1의 계산기처럼 단일 인스턴스 응용 프로그램이 되도록 강제할 수 있는 방법이 있습니까?
답변1
사용AHK. 계산기 키를 다음 스크립트에 매핑합니다(이 스크립트는 Win+ 에 매핑됨 Z).
#z::
IfWinExist Calculator
WinActivate
else
Run calculator://
return
답변2
앱을 시작하고 작업 표시줄에 고정하기만 하면 됩니다. 그런 다음 Win+1, Win+2 등의 단축키를 클릭하거나 사용하여 시작합니다. 단축키를 클릭하고 사용하면 앱 인스턴스가 하나만 실행됩니다. 인스턴스가 이미 실행 중이고 바로가기를 반복하면 앱의 포커스만 불러올 수 있습니다.
다른 인스턴스를 시작하기로 결정한 경우 작업 표시줄에서 아이콘을 마우스 오른쪽 버튼으로 클릭하고 앱 이름을 클릭하세요. 제 생각에는 이런 단축키를 사용하면 업무 효율이 높아지고 정신적 피로도가 현저히 낮아지는 것 같아요.
답변3
포함되지 않는 방법AHK:
%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>
이는 스택 오버플로 질문에 대한 답변을 기반으로 했습니다.Windows에서 단일 계산기 인스턴스(calc.exe)를 실행하는 방법.
하지만 그들이 작성한 스크립트는 Windows 10에서 작동하지 않았기 때문에 다른 소스의 일부 비트를 결합하여 내 스크립트를 만들었습니다. 저는 VBScript에 대해 아무것도 모르기 때문에 기적입니다. 그러나 AHK를 실행하고 싶지 않은 경우에는 작동하는 옵션입니다.