Вот способ спать в .hta
сценарии, так что когда сценарий просыпается, он выполняет следующую команду в последовательности, как это необходимо в цикле. Это настоящий сон; он не удерживает процессор во время сна. Например. процессор может загружать и отображать страницы во время сна.
Только один раз, в начале кода, перейдите
var WSHShell = new ActiveXObject ("WScript.Shell");
Для сна, например, 1 секунда = 1000 миллисекунд, выполните оператор
WSHShell.Run ('Sleep.js 1000', 3, true);
В том же каталоге, что и скрипт, находится файл Sleep.js
, который содержит следующую строку:
WScript.Sleep (WScript.Arguments (0));
(Осторожно ; 0
в скобках, а не в скобках.) Последняя строка, которая фактически выполняет спящий режим. Аргумент true
в предыдущем фрагменте делает вызов синхронным. Кажется, что 3
в предыдущем аргументе не имеет никакого эффекта, но вам нужен некоторый аргумент, чтобы true
был третьим аргументом. Microsoft говорит: «Объект WScript ... никогда не нужно создавать, прежде чем вызывать его свойства и методы, и он всегда доступен из любого файла сценария», но это не так. Он доступен в автономном файле .js
, таком как приведенный выше, но, очевидно, не в файле .js
, используемом файлом .hta
, поэтому он должен быть в отдельном файле, который вызывается, как указано выше.
Вы можете преобразовать результат execute
в List
, но не конкретно в ArrayList <любой >
это то, что пытается сделать ваш код! Почему бы просто не использовать List
, абстракцию, к которой вам разрешено приводить, а не ArrayList
, конкретную реализацию, которую вы не можете преобразовать в ?