Xameleon пишет:2 dandyd:
dandyd пишет:Да уж. Посмотрел. Чего то мне не очень хочется во все это влезать.
Пробовал еще через ScriptCodingInfo.wsc http://script-coding.com/SCI_WSC.html (ScriptCodingInfo.Translator).
Как то странно получается. На отсутствие объекта Wscript вроде не ругается, но тормозит и работает как-то глючно (не всегда), допустим этот же самый простой Wscript.Sleep.
1) Для того чтобы понять почему WSсript в данном случае недоступен, а в другом доступен надо прочитать спецификации HTA и WSH
2) Если все эти мучения ради WScript.Sleep, то вполне возможно обойтись и window.SetTimeout() или window.SetInterval(). А в большинстве случаев - даже и они не нужны. Если вы работаете с событиями.
P.S Если вы не хотите в это "влезать", то тут уж весь наш форум со всеми гуру бессилен Вам помочь. Но если всё же желание понять пересилит нежеление "влезать", то поведайте нам о конечной цели. Возможно решение лежит на поверхности.
P.P.S - На крайний случай есть чат на форуме и ICQ. Чтобы быстрее найти решение.
По поводу "влезать"
<object id=MSComm classid="clsid:F6565773-FA54-45E9-941C-2505E54D5710"></object>
Может по поиску попал не совсем правильные примеры. Там кода столько, это где-то к ассемблеру ближе...
Я Ваш смайлик понял именно именно в этом смысле.
Проблема такая:
Нужен терминал для железки, которая по Virtual USB COM11 общается с компьютером
VBS:
Set MSComm = WScript.CreateObject("MSCommLib.MSComm","MSComm_")
работает, но не могу найти обработки Event клавиатуры (подскажите, если сможете)
HTA: обработка событий клавиатуры делается легко и события по закрытию окна есть
<body OnKeyPress="DoCheckEnterKey" OnBeforeClose="EndWork">
можно порт закрыть и железяке сказать отключиться перед завершением,
но
Set MSComm = WScript.CreateObject("MSCommLib.MSComm","MSComm_")
не работает
А Eventы по COM порту нужны.
В целом нужна обработка событий по нажатию клавиш и по получению/отправке данных с последовательного порта.
В VBS не получается с событиями клавиатуры.
В HTA не получается с событиями "MSComm_".
Красивостей не надо, вещь технологическая - получать/декодировать строки из порта, посылать команды контроллеру железки (как с клавиатуры, так и по таймеру и по принятой строке).
Терминалы даже типа ZOC Terminal с RExx (давно любимого) в макросах событий не поддерживают.