Системные вызовы в JavaScript целиком определяются используемой объектной моделью и настройками безопасности системы. Существуют в сильно урезанном виде в WSF и JScript // Simple SENDKEY application <package> <job id="js"> <script language="JScript"> var WshShell = WScript.CreateObject("WScript.Shell"); WshShell.Run("calc"); WScript.Sleep(100); WshShell.AppActivate("Calculator"); WScript.Sleep(100); WshShell.SendKeys("1{+}"); WScript.Sleep(500); WshShell.SendKeys("2"); WScript.Sleep(500); WshShell.SendKeys("~"); WScript.Sleep(500); WshShell.SendKeys("*3"); WScript.Sleep(500); WshShell.SendKeys("~"); WScript.Sleep(2500); </script> </job> </package> С помощью объекта WScript.Shell можно передавать управления другим программам и читать ответ: var WshShell = new ActiveXObject("WScript.Shell"); var oExec = WshShell.Exec("%comspec% /c dire"); function ReadAllFromAny(oExec) { if (!oExec.StdOut.AtEndOfStream) return oExec.StdOut.ReadAll(); if (!oExec.StdErr.AtEndOfStream) return oExec.StdErr.ReadAll(); return -1; } var allInput = ""; var tryCount = 0; while (true) { var input = ReadAllFromAny(oExec); if (-1 == input) { if (tryCount++ > 10 && oExec.Status == 1) break; WScript.Sleep(100); } else { allInput += input; tryCount = 0; } } if (oExec.ExitCode != 0) { WScript.Echo("Warning: Non-zero exit code"); } WScript.Echo(allInput);
JavaScript Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor