Можно ли использовать ActiveX-компонент на вебформе мимо эксплорера?

yolki

и как это сделать?
Задача: есть вебформа с китайским ActiveX-апплетом, код недоступен.
Оно подгружается и устанавливается на клиентскую машину.

<object id='WebClient' classid='CLSID:F00BA9-F000-BAAA-9999-0000000000' width="100%"
height="100%" codebase="WebClient.exe#version=1,1,2,35">
</object>

Дальше javascript-ом дёргаются его методы.
Работает только в эксплорере.
Хочется автоматизировать некоторые действия и попробовать дёргать этот компонент программно.
У меня получается только создать объект.
при попытке дёрнуть любой его метод оно кидает эксепшн.
это пример на консольном виндовом джаваскрипте.

var wc=new ActiveXObject("WEBCLIENT.WebClientCtrl.1");
print('preved');
wc.AboutBox;


preved
Необработанное исключение: System.Runtime.InteropServices.COMException: Разрушительный сбой (Исключение из HRESULT: 0x8000FFFF (E_UNEXPECTED
в Microsoft.JScript.LateBinding.Call(Object[] arguments, Boolean construct, Boolean brackets, VsaEngine engine)
в JScript 0.Global Code
в JScript Main.Main(String[] )

Возможно, я ещё не до конца логику разрулил и нужно сначала дёргать его очень специфично. Но такое впечатление, что ему не хватает какого-то эксплорерного окружения.
Пока что реверсю джаваскрипт, что вокруг него.
bodryachog, превед

Dasar

По хорошему его надо вставить в OLE-контейнер. Delphi-евая форма и .net-ная(windows forms) форма умеют себя за него выдавать. В плюсах тоже можно, но будет очень много кода.

yolki

Ок, рассмотрим C#.
Это какое-то свойство формы?

agaaaa

По идее этот компонент должен быть доступен в Add Reference в разделе COM или что-то вроде

agaaaa

Мне, кстати, непонято, что мешает его подёргать из консоли IE DevTools.

Dasar

Это какое-то свойство формы?
Это - это что?

yolki

- это что?
умение выдавать себя за контейнер

yolki

ну доступен, и что?
попытки дёрнуть его любой метод не из ие - E_UNEXPECTED
реверсю ща javascript, который его окружает.
там видимо нужно ему специальные параметры скормить для начала..
или как-то аккуратно в специальное окружение поместить.
он может иметь доступ к DOM?

Dasar

Это какое-то свойство формы?
Это набор поддерживаемых интерфейсов и фиксированная процедура инициализации.
У ActiveX-контрола после создания вызывается ряд методов, и ему передается набор интерфейсов контейнера, которые дальше контрол дергает для получения необходимых ему данных.

Dasar

ну доступен, и что?
то, что его можно в пару кликов добавить на форму, и посмотреть что будет.

yolki

Ага, встроился.
имеет вид рабочего. продолжаю наблюдения
Оставить комментарий
Имя или ник:
Комментарий: