1

你知道创建可在 JScript 或 VBScript(基于 Windows 脚本的宿主)中使用的 MFC ActiveX 对象的任何教程吗?

我的意思是一个 OCX 可以用作:

var x= new ActiveXObject("name");

不是这个:

<object id="xxx" classid="CLSID:xxxx">

到目前为止,我发现的所有内容都只允许使用带有 html 标签的 activex,并且它们无法使用脚本引擎进行初始化。

4

3 回答 3

2

只是要添加一些额外的选项: 1. 旧的 vb6 擅长非常简单地创建 ActiveX/COM 组件。2. Delphi 和 PowerBasic 等其他语言也可以轻松创建组件。3. VBScript 可用于创建封装在 com 包装器 WSC(Windows 脚本组件)中的 com 组件。这包含您的类和代码,并可用作 COM 对象。WSC 在通过 COM 调用时使用外部脚本组件运​​行时来执行您的脚本。实际的内部代码可以用其他脚本语言编写,例如 jscript 或 python 或许多其他语言。

于 2013-01-30T12:47:26.407 回答
1

FireBreath插件可以这样使用。它不使用 MFC,但您没有指定为什么需要使用 MFC。

于 2012-01-05T01:58:24.010 回答
1

就入门而言,我强烈建议您查看ThatsAlokA Beginner Tutorial for Writing Simple COM/ATL DLL and Using it with .NET

我尝试了许多不同的技术来创建 ActiveX 对象,而且我发现 ATL C++ 是我的最爱之一。本教程的关键要点是:

  • 利用 Visual Studio ATL 简单对象向导
  • 在 C++ 中命名接口(例如ISimpleCom
  • 选择一个progid(例如SimpleATLcom.SimpleCom
  • 让 Visual Studio 为您生成尽可能多的代码
  • 注册您的 COM DLL

本教程未涵盖的一些内容是:

  • 通过使用 Visual Studio 2008 支持的每用户重定向注册您的 COM DLL 来避免项目构建错误 PRJ0050(请参阅链接器属性页上的 Microsoft MSDN 文章)
  • 从 Windows Script Host / HTML 调用 JScript / VBScript

后者,您已经知道如何做到这一点,但是,为了完整起见。在 JScript 中,它是:

var obj = new ActiveXObject("SimpleATLcom.SimpleCom");

而且,在 VBScript 中,它是:

Dim obj
Set obj = CreateObject("SimpleATLcom.SimpleCom")
于 2012-02-03T22:15:51.137 回答