Как вызвать элемент управления ActiveX с помощью javascript на странице ASP.NET

Я пытаюсь создать компонент Active X, который запустит приложение на клиентской машине. Я создал элемент управления Active X, который довольно прост в .NET. Все, что он делает, это вызывает класс Process и вызывает Start.

Теперь я хочу иметь возможность вызывать метод запуска этого класса из javascript, передавая несколько параметров на странице (которые затем передаются как аргументы командной строки).

Я следовал руководству здесь: http://www.c-sharpcorner.com/UploadFile/mgold/HyperlinkExec03012007191054PM/HyperlinkExec.aspx

В этом руководстве рассказывается об использовании гиперссылки для запуска javascript, но я использую кнопку. Вот мой HTML (я пытаюсь использовать простой HTML вместо ASP.NET, чтобы пока все было просто, но в конечном итоге я хочу перейти на ASP.NET)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

    <body>
        <button type="button" onclick="javascript:launch()">Click me!</button>
        <script type="text/javascript">
            function launch()
            {
                alert('test')
                var myLauncher = new ActiveXObject('CardWriterApplicationLauncher');
                myLauncher.LaunchCardWriter('test', 'test', 'test');
            }
        </script>

    </body>
</html>

Как когда я нажимаю кнопку, я получаю сообщение об ошибке «Сервер автоматизации не может создать объект». Я знаю, что моя COM-библиотека правильно зарегистрирована в GAC и с regasm, так что я могу делать не так?

Также приветствуются любые альтернативные решения для запуска приложения на рабочем столе пользователя с веб-страницы. При необходимости настройку безопасности браузера можно изменить, поскольку клиентские ПК находятся под нашим контролем и находятся в частной сети без доступа в Интернет.

Спасибо


person Dafydd Giddins    schedule 03.09.2009    source источник


Ответы (2)


Если у вас есть общедоступные свойства или методы в элементе управления ActiveX, можете ли вы просто вызвать те, которые напрямую ссылаются на идентификатор <Object>, с помощью JavaScript?

Таким образом, элемент управления ActiveX уже загружен на страницу с помощью тега <object>, и вы просто вызываете его метод.

person Mark Redman    schedule 03.09.2009
comment
Как мне использовать тег объекта. Я видел некоторую информацию об этом, но так и не смог заставить ее работать. - person Dafydd Giddins; 07.09.2009
comment
Чтобы узнать, как встроить элемент управления ActiveX на страницу hmtl, см. fpoint.com/ support / whitep / ActiveX / ax1999.aspx Это отобразит элемент управления на странице (в вашем случае у него может не быть интерфейса, но вы можете добавить его для его тестирования). затем можно начать взаимодействовать с ним с помощью javascript. - person Mark Redman; 07.09.2009

Отбросьте на мгновение браузер и перейдите к клиентскому компьютеру, убедитесь, что вы можете правильно создать объект activex на машине, используйте простой сценарий vb или фиктивное приложение.

Создайте файл с именем something.vbs, поместите в него следующий код

Set MyObj = CreateObject("CardWriterApplicationLauncher")

После того, как вы убедились, что часть работает, перейдите в свой браузер.

Вероятно, ваша проблема не связана с вашим браузером.

Также я только что заметил, что CardWriterApplicationLauncher не является действительным идентификатором объекта, который обычно требуется. в них. например word.application

person Toby Allen    schedule 13.06.2012