Во-первых, я создал следующий скрипт:
<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". С этим - каждый раз, когда я нажимаю выделенный ключ - запускается скрипт и запускается один экземпляр приложения для калькулятора
Вы ищете способ сделать это с помощью программирования? Если да, то какую среду программирования вы используете? Или вы хотите изменить поведение самого Calc? Второй вариант был бы вне темы на Stackoverflow. – NineBerry
http://superuser.com/questions/316541/force-an-application-to-be-single-instance – CodeCaster
Спасибо @NineBerry - Я искал либо родной командный файл Windows, либо язык сценариев. – flyck