Custom-Event из Internet Explorer в Visual-Basic

Мне нужно прослушать пользовательское событие из элемента управления браузером в визуальной программе. Недавнее обновление Windows препятствует работе vbscript.

Наша проблема: после обновления Windows KB4490481 Internet Explorer теряет возможности VBScript! Я знаю, что IE11 все равно не запускает VBScript, но я говорю о контроле браузера, который по умолчанию ведет себя как IE7!

Ну хорошо, поэтому я преобразовал код VBScript в javascript, это выглядит нормально. Но он также использует Customevents, я использовал для этого эту справку: здесь

Кажется, все в порядке, когда вы слушаете событие внутренне

Но мне нужно, чтобы пользовательское событие было поднято до основной программы, содержащей элемент управления браузером, это не работает!

К сожалению, основная программа написана на VB6 (Visual Basic 6), поэтому я не нахожу в ней особой помощи. Моя проблема в том, что "addEventListener" правильно с помощью https://msdn.microsoft.com/en-us/ie/aa752045(v=vs.94) Я могу слушать нестандартные события, такие как

Browser.Document.getElementById("btnMyButton").addEventListener "click", cfForward

но не на мой заказ

Browser.Document.addEventListener "JSEvent", cfForward, False

Кто-нибудь может помочь? Я думаю, что рабочий образец VBA Office также поможет мне

Лучше всего для меня был бы ключ реестра, чтобы вернуть vbscript

Другие вещи, которые не помогают: <meta http-equiv="x-ua-compatible" content="IE=10"> ==> не имеет эффекта, vbscript не запускается

переименуйте страницу в .hta: Vbscript все еще работает там, но есть диалог подтверждения, и он открывает свое собственное окно

спасибо Дональд

«btnMyButton» — это кнопка

Browser.Document.getElementById("btnMyButton").addEventListener "click", cfForward ==> is ok

«JSEvent» — это пользовательское событие, которое запускается при нажатии кнопки мыши для тестирования.

Browser.Document.addEventListener "JSEvent", cfForward, False ==> не в порядке


person Donald    schedule 18.04.2019    source источник
comment
До обновления до KB4490481 хорошо ли работает код? Судя по этой статье, последняя версия — KB4493509, попробуйте обновить до последней версии. Если все еще не работает, отправьте нам простой образец для воспроизведения.   -  person Zhi Lv    schedule 22.04.2019
comment
Спасибо за ваш комментарий! Я установил последние обновления, но они все равно не работают! Я сделал простую программу, чтобы показать, что я пытаюсь сделать: первая кнопка в примере напрямую подключена через событие click к некоторому коду программы, это работает, вторая кнопка вызывает пользовательское событие, которое должно вызвать программа, это не работает Почему это пользовательское событие? Мы используем своего рода концентратор событий, в противном случае нам придется писать очень много обработчиков событий непосредственно внутри программы VB6. Если проблема не может быть решена, нам придется это сделать в крайнем случае.   -  person Donald    schedule 24.04.2019
comment
Несколько слов о программе Test: просто распакуйте ее в любую папку, откройте Javachecklist.vbp и запустите. Просто обратите внимание: browsercontrol должен работать как IE11, иначе будут ошибки HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION DWORD vb6.exe = 11001 dec для запуска browsercontrol как IE11! Ссылка на образец программы, действительная в течение 3 дней spideroak. com/storage/MRSXA4BSO5SWE/shared/986859-2-9842/   -  person Donald    schedule 24.04.2019