Форум программистов, компьютерный форум, киберфорум
Наши страницы

VBScript/JScript/WSH/WMI/HTA

Войти
Регистрация
Восстановить пароль
 
Fatal1st
1 / 1 / 0
Регистрация: 02.12.2010
Сообщений: 23
#1

OPOS Claim не захватывает устройство в JS (IE) - VBScript/JScript/JS

27.02.2015, 11:40. Просмотров 466. Ответов 4
Метки нет (Все метки)

Добрый день. Мне необходимо подключить считыватель карт к html странице посредством ActiveX.
Считыватель Posiflex MR2200U. Подключается посредством USB. Установил Posiflex OPOS Control. В Control Manager определил имя устройства, написал следующий код
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
    function msrop(){
 
        try { 
          if ( r = msro.Open('MR1') ) { log ( ER100 + ' ' + 'MSROP' + ' ' + r ); return }
          log(r);
        } 
        catch ( e ) { 
          log ( 'MSROP' , e ) ; return ;
        }
 
    }
 
    function msrcl(){
        try { 
          if ( r = msro.Claim(-1) ) { log ( ER100 + ' ' +  'MSRCL' + ' ' + r ); return }
          msro.DeviceEnabled = true ;
          msro.DataEventEnabled = true ;
          log(r);
        } 
        catch ( e ) { 
          log ( 'MSRCL' , e ) ; return ;
        }
    }
 
    function ol(){
 
        try { msro = new ActiveXObject ( 'OPOS.MSR' ) ; } catch ( e ) { alert(e) }
 
        bind ( msro ) ;
    }
 
    function bind( o ){
        function o::DataEvent(){
            log('<br/>' + '->Tracks read ' + 'T1: ' + o.Track1Data + ' T2: ' + o.Track2Data + 'T3: ' + o.Track3Data + 'T4: ' + o.Track4Data );
            log('<br/>' + '->DataEventEnabled ' + ( msro.DataEventEnabled = true ))
            var d = document.getElementById('track');
            d.innerHTML = o.AccountNumber;
        }
    }
HTML5
1
2
        <button onclick="msrop()">Open</button>
        <button onclick="msrcl()">Claim</button>
Код по нажатиям на кнопки открывает и захватывает устройство. При зачитывании карты выводит информацию о номер карты. Если этот код поместить в HTA приложение, то он работает без проблем, устройство открывается и захватывается.
Если запустить этот код как HTM страницу в IE 8, то устройство открывается успешно, а вот при захвате происходит исключение. Свойство ResultCode устанавливается в 104 (OposENoservice). При повторной попытке захвата метод возвращает ResultCode (102) OposEClaimed.

Настройки безопасности IE установлены на низкие.

Почему Claim не отрабатывает корректно в IE?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2015, 11:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос JS OPOS Claim не захватывает устройство в JS (IE) (VBScript/JScript):

Как получить устройство, к которому приатачено ваше устройство в стеке устройств - Программирование драйверов
Пишу минипорт драйвер для usb аудио устройства. Для создания устройства вызывается функция порт драйвера PcAddAdapterDevice, в ней...

В диспетчере задачь неизвестное устройство, как узнать что за устройство? - Компьютерное железо
в диспетчере задачь неизвестное устройство, как узнать что за устройство7 это вроде где сведения какой то код надо, токо какой код надо и...

Захватывает и другую картинку . - HTML, CSS
Написал CSS чтобы оводил картинку пунктирной линией . .photo img { border: 1px dashed #D14000 ; background-color: #fff ; ...

HP 1200 не захватывает бумагу - Принтеры, МФУ
Добрый день. Принесли на ремонт HP 1200 не захватывал бумагу, после замены ролика ситуация не изменилась. Подскажите что может еще с ним...

Scanf не захватывает char - C++
При использовании scanf со строковым типом происходит краш. В отладке бросает на этот кусок кода { return __stdio_common_vfscanf( ...

Не захватывает тюнер видео - Видеопрограммы
Здравствуйте всем!Может я не туда попал,извените.Я думаю,что на форуме сидят люди умные,они подскажут что и как. У меня вопросик...

4
buggydancer
250 / 238 / 16
Регистрация: 31.12.2009
Сообщений: 324
27.02.2015, 14:21 #2
Такое впечатление, что программы Windows работающие с интернетом это какая-то "вещь в себе", видимо кроме обычных прав на файлы, каталоги, ветки реестра "все эти" программы (IE, IIS) каким-то неведомым образом реализуют еще и свой уровень cекъюрности скрытый для непосвященных. В недавней теме: Excel.Application - Не удалось создать компонент ActiveX тоже обсуждались похожие грабли, которые так ничем и не закончились
Может на ваш Posiflex MR2200U дока какая хорошая имеется?
0
Fatal1st
1 / 1 / 0
Регистрация: 02.12.2010
Сообщений: 23
27.02.2015, 16:13  [ТС] #3
buggydancer, доки как таковой нет. Что интересно, подключил аналогично к html-странице сканер штрихкодов (другой фирмы - Metrologic, модель Eclipse 5145) через CLSID. В IE сканнер штрихкода отработал корректно. Оба устройства - OPOS, фактически используют одни и те же методы. Разница в том, что сканер определился как Metrologic USB Scanner (COM8), т.е. сэмулировался ком-порт. А картридер определился, как USB HID совместимое устройство. Может это влияет на то, что IE не может захватить устройство? Если так, то как сэмулировать подключение считывателя к com-порту?
0
buggydancer
250 / 238 / 16
Регистрация: 31.12.2009
Сообщений: 324
27.02.2015, 21:25 #4
Fatal1st, похоже все-таки что Metrologic подключился через какой-нибудь legacy драйвер, какбы получился workaround косяка с Posiflex, как сэмулировать программно rs232 из usb - это наверное лучше спросить у драйверщиков: http://www.cyberforum.ru/drivers-programming/

PS: кстати здесь: http://www.comx-computers.co.za/MR2200U-specifications-61223.htm
написано, что у Posiflex в интерфейсах имеются: "USB or RS-232 or PS/2" - может ошибка?
0
Fatal1st
1 / 1 / 0
Регистрация: 02.12.2010
Сообщений: 23
02.03.2015, 11:29  [ТС] #5
buggydancer, для Metrologic, как выяснилось, имеется драйвер-эмулятор ком-порта.
Цитата Сообщение от buggydancer Посмотреть сообщение
написано, что у Posiflex в интерфейсах имеются: "USB or RS-232 or PS/2" - может ошибка?
Подозреваю, что у них есть варианты с разными разъемами подключения.
1
02.03.2015, 11:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2015, 11:29
Привет! Вот еще темы с ответами:

QTableWidget захватывает клавиатуру - C++ Qt
Здравствуйте. как можно избежать захвата клавиатуры элементом QTableWidget? имеется ввиду следующее: пусть у нас на вкладке насположены 2...

не захватывает нажатие кнопки - C++ WinAPI
пишу простенькую программу, суть в том, что на панели после клика можно начать движение и дальше будет рисоваться квадрат с углом где был...

Регулярка захватывает лишнее - C#
Помогите правильно составить регулярное выражение для поиска &lt;p&gt;text&lt;/p&gt;. Я сделал @&quot;&lt;p&gt;.*&lt;/p&gt;&quot; Но у меня все перемешалось, обрабатывается...

QTcreator не захватывает библиотеки - C++ Qt
Доброго времени суток! Хотелось скомпилировать детектор границ Кенни (http://robocraft.ru/blog/computervision/484.html). Выдает ошибку....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru