问题标签 [activexobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
13847 浏览

ajax - Ajax 调用:new ActiveXObject("Msxml2.XMLHTTP") 和 new ActiveXObject("Microsoft.XMLHTTP") 有什么区别?

我希望两个对象调用都引用 ActiveXObject。但是为什么我们要传递两个不同的参数来在 IE 中工作。1. Msxml2.XMLHTTP 和 2. Microsoft.XMLHTTP

他们都一样吗?或者它们是否依赖于浏览器(IE7 和 IE8)?

我两个都用过。我没有得到任何例外。两者对我来说都一样。我正在使用 IE 8。

0 投票
2 回答
1427 浏览

c++ - 如何获得一个 IHTMLElement 指针 tag hosting an activex control

I have an ActiveX control generated by the FireBreath framework (http://firebreath.org). I need to get a reference to the <object> tag in the page that hosts the plugin

I have an ActiveX control generated by the FireBreath framework (http://firebreath.org). I need to get a reference to the <object> tag in the page that hosts the plugin from C++.

If I were using NPAPI, I would use the NPNVPluginElementNPObject constant with NPN_GetValue.

so to make sure I am being clear, say I have the following in the page:

<object id="testPlugin" type="application/x-someplugin" width="100%" height="100%"></object>

I want to get a reference to the plugin like I would if I used document.getElementById("testPlugin"), except from within the C++ code of the activex control that is inserted for that mimetype.

Please note that passing the id in as a <param> is not a good option for me, but if there is a way to get the ID from inside the activex control that may work.

edit: I am considering using getElementsByTagName and trying to find it through the DOM, but it would be difficult to tell the difference between two instances of the same plugin.


Thanks to FireBreath contributor jtojanen from Finland, we finally have a solution.

The first thing is that the COM object must be registered as "Apartment", not "Single" (in the registry). Otherwise, this will not work; seems to be a bug in COM.

Then anywhere after SetClientSite is called, you can do the following:

Hope this saves someone some time; it's taken me almost 2 years to find someone who could answer this for me.

The object in htmlElement will be the <object> tag that wraps your plugin; so if you queryInterface for any of your interfaces, it should succeed, but it may not actually literally be your object, it will likely be a wrapper to your object.

0 投票
1 回答
4329 浏览

javascript - 使用 JavaScript 在 HTA 中发送电子邮件并隐藏发件人的电子邮件地址

我正在使用具有许多选项的 HTA,现在我正在尝试添加一个页面,该页面允许您直接从 HTA 发送电子邮件而无需打开 MS Outlook。

我使用的是 Outlook 2003。我尝试了两种方法来创建电子邮件发送页面:

1. 使用 Outlook.Application ActiveX 对象 -它不起作用,因为它似乎只适用于 Outlook 2007,所以同时我把它排除在外。

2. 将简单的 HTML 与“mailto:”一起使用 -发送简单的电子邮件可以正常工作,但我有一个无法解决的问题。

在 Outlook 中,我可以从名为“服务邮件”的“虚假”地址发送电子邮件(我只是将其写在“发件人”字段中),因此客户将无法回复我的电子邮件。我也想在我的 HTA 页面中执行此操作,但我认为此选项不存在。

有什么办法吗?也许通过对 Outlook 2003 使用 ActiveX 对象并使用该对象进行操作?

重要提示:我只能使用客户端语言,因为我没有服务器。

谢谢, 罗特姆

0 投票
2 回答
847 浏览

javascript - javascript中活动x控件(VB)返回的进程数组

我正在为 IE 开发一个通过 javascript 调用的 ActiveX 控件。ActiveX 控件是在 Visual Basic 中开发的,它有一个字符串数组。我将如何在 javascript 中使用这个字符串数组。

例如:-

上面的行不起作用。我想遍历javascript中的每个字符串。

建议。

0 投票
1 回答
1621 浏览

activexobject - 如何使以下代码可移植到 Internet Explorer 以外的浏览器?

我有一个在 Internet Explorer 上运行良好的源代码,但无法在 Chrome 或 Firefox 上运行。我想让它便携。请帮忙。

Uncaught ReferenceError: ActiveXObject is not defined --> 这是我得到的错误。

我尝试了以下方法使其可移植,但仍然出现错误。喜欢:

未捕获的 TypeError:DOM 对象构造函数不能作为函数调用。

0 投票
1 回答
916 浏览

javascript - 将字节流写入javascript中的activex对象

我正在尝试在本地计算机上创建一个文件,该文件在 javascript 中捕获 var 文件。

在这里,我们得到一个 httpresponse 流,其中包含 var 文件中的字节数据。

如果我能找到一些帮助,将不胜感激。谢谢你。

0 投票
1 回答
76 浏览

mef - 可以将 MEF 与 ActiveX 控件 (*.ocx) 一起使用吗?

通常,所有MEF示例都使用类库作为“ .dll。是否可以直接使用MEF 中的ActiveX Conrols.ocx文件而不是“dll”文件)。?

最好的祝愿

0 投票
1 回答
1129 浏览

javascript - Javascript ActiveX 无法加载对象

我无法让我的页面正常工作。在加载页面时,我在这一行得到错误tscontainer = new ActiveXObject('BDATuner.SystemTuningSpaces');任何想法为什么我得到这个错误以及如何启动我的页面工作?

我正在使用 IE8。

msvidctl.dll 可以在 2 个目录中找到:C:\WINDOWS\system32

C:\WINDOWS\RegisteredPackages{AA936DF4-2B08-4B1F-B071-72192E287704}

0 投票
1 回答
537 浏览

activex - ActiveX Control always working on my machine - unpredictable behavior on others?

I have a question about my ActiveX control not always working in IE on other machines.

Context: I'm working on an internal app for my company. It is designed to be a standalone web-page config tool for viewing a static customized version of our web app. The user may select the colors, images, and other settings they would like to see, and these will be present in the static mockup/preview version on their machine when they click a button.

Implementation: my javascript file creates a filesystem/activex object that essentially creates a temporary javascript file to which a list of values are written. Then when the user previews the configuration, the javascript file is located and values are loaded dynamically into the dom, etc etc. Naturally this functionality only works in Internet Explorer and is shady at best, but is my only way of implementing a purely zero configuration, client-side dynamic webapp.

Problem: When I test out my script, Internet Explorer prompts me twice about ActiveX controls and I say "yes" to them and the ActiveX functions work. I do this every single time I open my page. But sometimes when I send the file to another person so they can use it, they don't get the notifications so it doesn't work. However sometimes they do get notifications and it does work! I am using default security settings for IE so there should be no difference between my settings and theirs.

Could this be related to my user permissions vs theirs, or the fact that the files are read-only (because they are coming from source control and are also being made read-only when put on the shared drive.) or unknown dark Microsoft forces beyond human comprehension?

Thanks, Josh

0 投票
1 回答
4042 浏览

.net - 如何使用 IE8/IE9 通过远程加载的 DLL(无需事先注册)部署 C# ActiveX 对象,然后使用 javascript 访问它?

我需要远程加载一个包含 ActiveX 对象(非可视)的 .NET DLL,然后使用新的 ActiveXObject() 方法通过 javascript 访问它。

当前 IE8 使用对象标记上代码库属性的路径正确加载此 DLL,但由于 ActiveX 引导程序未在注册表中找到 DLL,ActiveXObject 失败。

我正在使用 ProcMon 来跟踪正在发生的事件,并且可以验证是否正在下载 DLL,以及是否正在通过新的 ActiveXObject 方法探测注册表。第二部分失败了,因为 ActiveX 对象不在注册表中。

如果我使用regasm我可以提供必要的注册然后一切正常,但是我不想为此目的部署安装程序 - 我知道 IE 应该为我注册 DLL - 我只是不知道这是什么机制.

.NET 类具有使这一切在 regasm 中工作的必要属性,但似乎没有调用注册表代码。(注册码是从这里偷的)