Вот надо стало мне тетеньке все время держать программу открытой, а программа та закрывается легко – крестиком. Ну и тетя, рас — и закрывает ее, случайно конечно. Мы ее и ругали и предупреждали, и по рукам били.
И решили мы программу эту гвоздями прибить к десктопу, а как ?
Я неделю думал, спрашивал везде и вот пришли ко мне несколько вариантов, которые я вам и показываю первый паровоз на 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.exeRun, notepad.exe
}
Но можно обойтись и вообще простым примером, минусом которого является то что висит дурацкий cmd оболочка, но все сводится к простому исходнику:
:ass
start /WAIT notepad.exegoto ass