Вот надо стало мне тетеньке все время держать программу открытой, а программа та закрывается легко – крестиком. Ну и тетя, рас - и закрывает ее, случайно конечно. Мы ее и ругали и предупреждали, и по рукам били.
И решили мы программу эту гвоздями прибить к десктопу, а как ?
Я неделю думал, спрашивал везде и вот пришли ко мне несколько вариантов, которые я вам и показываю первый паровоз на JScript (тема была открыта тут):
function FindExecutedAppByName(AppName){
return objService.ExecQuery("select * from Win32_Process where ( " +
" name = \"" + AppName + "\")")
} //FindExecutedApp1C
var objService = GetObject("winmgmts:\\\\.\\Root\\CIMV2");
var WshShell = new ActiveXObject("Wscript.Shell")
WScript.Echo("Скрипт запущен");
while (0 == 0) {
App = FindExecutedAppByName("notepad.exe");
if (App.Count == 0) {
WScript.Echo("Не напущен");
WshShell.Run("notepad.exe", 1, true);
}
WScript.Echo("Работает");
WScript.Sleep(30000);
}
Согласитесь, черт бы ногу побрал. Есть куда более простой вариант на AutoHotKey, который мне понравился больше всего:
Loop {
Process,WaitClose,notepad.exe
Run, notepad.exe
}
Но можно обойтись и вообще простым примером, минусом которого является то что висит дурацкий cmd оболочка, но все сводится к простому исходнику:
:ass
start /WAIT notepad.exe
goto ass
