2016-03-23 5 views
-2

В Windows 7 каждый раз, когда я запускаю Калькулятор (calc.exe) (используя выделенную клавиатуру или вводя «calc» в диалоговом окне «Выполнить») запускается новый экземпляр приложения Calculator. Я ищу способ, чтобы активировать существующий экземпляр (если имеется) калькулятор - приведение его в фокусеКак запустить отдельный экземпляр калькулятора (calc.exe) в Windows

Благодаря

+0

Вы ищете способ сделать это с помощью программирования? Если да, то какую среду программирования вы используете? Или вы хотите изменить поведение самого Calc? Второй вариант был бы вне темы на Stackoverflow. – NineBerry

+2

http://superuser.com/questions/316541/force-an-application-to-be-single-instance – CodeCaster

+0

Спасибо @NineBerry - Я искал либо родной командный файл Windows, либо язык сценариев. – flyck

ответ

2

Во-первых, я создал следующий скрипт:

<package> 
 
    <job id="js"> 
 
    <script languange="JScript"> 
 
     var WshShell = WScript.CreateObject("WScript.Shell"); 
 
     var ret = WshShell.AppActivate("Calculator"); 
 
     if (ret==false) 
 
     WshShell.Run("calc"); 
 
    </script> 
 
    </job> 
 
</package>

и сохранил его в файле с именем scalc.wsf, желательно сохранить этот файл в каталоге, представленном в% PATH%. Теперь, если я набираю scalc.wsf - вызывается скрипт и запускается один экземпляр Калькулятора. Я также установил ключ реестра HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey \ 18 \ ShellExecute для определения значения "scalc.wsf". С этим - каждый раз, когда я нажимаю выделенный ключ - запускается скрипт и запускается один экземпляр приложения для калькулятора

Смежные вопросы