问题标签 [activex-exe]

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 投票
1 回答
151 浏览

events - VB6 错误事件在 F5 上触发

我在用户控件上有一个网格,它在用户文档 vbd 页面上,在 ActiveX exe 应用程序中 这是我在网格上按 F5 时得到的事件

当我在网格上按 F3 时,我得到了正确的事件

有任何想法吗?

0 投票
1 回答
654 浏览

c# - 同时使用 VBA 和 ActiveX 插件时出现 Excel 错误 406。

我的Excel插件(XLL AddIn,叫它MyAddIn)是用 C#、ExcelDNA、NetOffice、VS2010 构建的。客户端有另一个插件(我们称之为B),我猜它是用 VBA 编写的。客户说B没有MyAddIn. 一旦MyAddIn安装,B失败并出现错误:

错误代码:406 错误消息:无法在此宿主应用程序中从 ActiveX DLL、ActiveX 控件或属性页显示非模态表单。

我确实看到了这个 Microsoft 资源,但我不想只是告诉客户B插件需要更改。我想做一些事情来避免这种情况发生。

以下是报告查看问题的步骤:

  1. 安装 B 插件后,它不会为 Microsoft Excel.
  2. 安装后MyAddin,它会为 Microsoft 生成一个注册表项Excel
  3. 这里的注册表项基本上告诉插件应该在启动时打开Excel,所以B插件没有启动,Excel工作正常,MyAddIn工作正常。
  4. 现在,当B插件启动时,它会给出上面显示的 406 错误。
  5. 我们可以忽略错误并继续使用B插件;禁用MyAddIn是解决方法。
  6. B插件启动时,我们看到它MyAddIn在插件之前先加载B,然后得到 406 错误。
  7. 当我们卸载时MyAddIn,不再遇到此错误,一切正常。
  8. 为了消除此错误,我们尝试更改注册表顺序以使B插件始终在MyAddin.
    • 这行得通,但这对 Microsoft 来说是一个全局更改Excel,这意味着B插件将始终打开,即使我们仅启动Excel。这是不希望的,因为B插件不能让用户使用静态数据,因为B插件会不断刷新实时。这就是B插件不在注册表设置中创建条目的原因。因此,注册表更改不是一种选择。我们不能总是在打开B时打开插件Excel
0 投票
0 回答
382 浏览

c# - 使用 .dll 控件作为 ActiveX 控件来维护配置文件

我需要使用 .NET 创建一个 ActiveX 控件,并且我想将它托管在 C++ 应用程序中。我使用 Enterprise Library 5.0 创建了 ActiveX 控件和依赖项控件之一。现在我需要维护其各自的配置文件。

当这个控件托管在一个简单的 Windows 窗体中时,它会在一个 win forms app.config 文件中维护所有这些配置设置。

现在,当我尝试在 C++ 中托管这个 ActiveX .dll 文件时,我的问题出现了,我需要在哪里以及如何维护这些配置?

0 投票
1 回答
1838 浏览

javascript - 从 JavaScript 跨浏览器运行 .exe

我知道如何.exe使用 ActiveX 运行,但这只是 Internet Explorer,我也知道如何使用.hta,但必须作为应用程序安装/使用。

这不一定是在线的:实际上我更喜欢在本地。

这不一定适用于所有浏览器:该解决方案只能适用于 Firefox。

非常感谢您!:)

0 投票
0 回答
294 浏览

c++ - Qt ActiveX 服务器调试策略

我在通过 activeqt 构建 ActiveX 对象时遇到问题。我试图通过 qt 5 文档( s ​​ource ,但是当我运行演示 IE 页面时,该页面仅显示“对象不可用!您忘记构建和注册服务器了吗?”。我的步骤包括以下的:

  1. 安装 Visual Studio 2012 速成版
  2. 安装带有额外源的 Qt creator(64 位 Windows 7 上的 64 位)
  3. 构建 QAxServer 库
  4. 在 Simple 示例项目上运行 qmake
  5. 构建“简单”示例项目
  6. 用IE试试页面

我验证了 classid 至少显示在注册表中,并且编译输出说明 activex 服务器已成功注册。我检查了事件日志,但没有显示任何内容。IE 控制台指出“对象不支持属性或方法'about'”,但即使我使用虚假的类 ID,我也会收到该错误,因此我假设它可能出于多种原因引发该错误。有人有其他调试策略吗?IE 可能在其他任何地方隐藏一些有用的日志?谢谢!

0 投票
0 回答
52 浏览

c++ - 尝试使用 VB6 ActiveX exe 升级 C++ 6 项目

我继承了一个 C++ 6 项目,我正在尝试将其升级到 C++ 2010 我已经多年没有使用 C++,并且发现 2010 比 C++ 6 严格得多

该项目引用了 VB6 ActiveX exe ActiveX exe 中有两件事导致我出现问题 我已经简化了代码,并确保这仍然会导致同样的问题

C++ 代码以这种方式定义这些:

当我尝试构建时,在编译器为 SOAPClientPtr 和 _RecordsetPtr 生成的 tli 文件中出现错误

错误 C2564:函数式转换为内置类型只能采用一个参数

任何帮助或我可能尝试的想法将不胜感激

提前致谢,

布赖恩

0 投票
1 回答
92 浏览

wcf - 保护最少的 WCF 方案

我编写了一个生成一些消息的 WCF 服务。这些消息应该由不同的应用程序检索。两者都在一台没有网络访问权限的计算机上运行。事实上,我试图在 .NET 中创建类似 Active-X-exe 的东西。

我想让它不涉及火线,并且我不必以管理员权限运行服务。

我不需要任何安全措施。

但是,我还没有找到,但这可能是由于我缺乏使用 WCF 的经验。

有人可以推荐不涉及防火墙且不需要管理员权限的绑定吗?

谢谢!

0 投票
1 回答
1524 浏览

multithreading - VB6 ActiveX 对象的多个实例

在 VB6 中(由于客户端要求),我需要能够执行我编写的 ActiveX EXE 的多个实例,以通过 RS232 将文件下载到多个单元。

我开发了一个测试应用程序,我认为它反映了我需要做的事情。首先是一个模拟下载过程的ActiveX EXE,称为TClass。此 ActiveX EXE 引发事件以报告其当前进度,如下所示:

TClass.exe (ActiveX EXE, Instancing = SingleUse, Threading Model = Thread per Object)

接下来是一个包装类来实例化 TClass 并处理回调事件(Progress),称之为 WClass(AxtiveX DLL,Instancing = MultiUse,Apartment Threaded):

最后是用于实例化 WClass 的 UI。这是一个简单的表单应用程序:

txt1、txt2、txt3、txt4 和 txt5 是提供种子值的文本项,该种子值最终作为属性传递给 TClass。txtRes1、txtRes2、txtRes3、txtRes4 和 txtRes5 是保存 TClass.MultByTwo 结果的文本项,通过 RaiseEvent Progress() 调用报告。cmd1、cmd2、cmd3、cmd4 和 cmd5 与上面对应的 _Click 函数相关联,并实例化 WClass.WrapperClass 并让一切顺利进行。该表单还有一个名为 Timer1 的 Timer 对象,设置为每 2 秒触发一次。这样做的唯一目的是从 WClass 中的公共属性更新 UI。

我已将 TClass 构建为 TClass.exe,将 WClass 构建为 WClass.dll,并从 UI 应用程序中引用了 WClass.dll。当我运行表单并单击 cmd1 时,我注意到的第一件事是 Timer1_Timer 不再触发,因此我的 UI 永远不会更新。其次,如果我单击 cmd2,它会触发,但似乎会阻止第一个实例的执行。

我花了几天时间阅读 MSDN 上的帖子和说明……不走运……任何帮助将不胜感激!

谢谢!

更新:我已更改 WClass.dll 包装类以实现使用回调函数的建议。见下文:

V2: WClass.dll (ActiveX DLL, Apartment Threading, Instancing = MultiUse)

UI 类的必要更改:

我仍然看到相同的行为...单击 cmd1,然后我看到结果从 txtRes1 开始。点击cmd2,txtRes1中的结果停止更新,txtRes2更新直到完成,然后txtRes1更新。

我不希望它在 VB6 调试器中工作,因为它是单线程的,但是创建一个可执行文件并运行该可执行文件仍然会产生相同的结果。

我也尝试过改变我的 TClass 的实例化方式(New 与 CreateObject)——没有发现任何区别。我也尝试过在实例化 WClass 时使用 New 和 CreateObject() ......仍然没有做我想做的事情......

0 投票
0 回答
244 浏览

c++ - 可执行 ActiveX 的 C++ 实例在 64 位环境中失败。错误 无效的建议标志

0 投票
1 回答
752 浏览

wine - 通过wine在Linux中注册ActiveX SERVER

我有一个用 VB6 编写的 Windows 应用程序,它使用 ActiveX exe。在程序启动时,我正在使用 /regserver 选项注册 ActiveX exe。

我们想通过 wine 在 linux 中测试这个应用程序。

安装程序工作正常,当通过 wine 启动程序时,我收到“对象不支持操作”消息。

所以我认为这可能是 ActiveX EXE 注册,所以尝试通过“wine cmd”选项手动注册。我也收到相同的消息。

Wine 不支持此选项 (/Regserver) 吗?