gpt4 book ai didi

c# - 如何在 C# 中创建 ActiveX 控件?

转载 作者:太空狗 更新时间:2023-10-29 23:25:52 24 4
gpt4 key购买 nike

我无法在 C# 中创建功能正常的 ActiveX 控件;我已尝试按照教程进行操作但没有成功。

我创建了一个包含以下代码的示例类库项目:

namespace AACWCSurvey
{
[ProgId("Prisoner.PrisonerControl")]
[ClassInterface(ClassInterfaceType.AutoDual)]
public class Class1
{
public Class1()
{
MessageBox.Show("FIRETRUCK!!!");
}
}
}

然后我做了以下步骤:

  1. Properties => Application => Assembly Information => Make Assembly COM-visible
  2. 构建 => 注册 COM 互操作 TRUE(选中)
  3. 为程序集起一个强名称(签名)
  4. 构建项目
  5. regasm MyDll.dll/tlb/codebase

  6. 在 tstcon32 中看不到 Prisoner.PrisonerControl =(

我的操作系统是 WinXP x86。


UPD:它适用于 VBScript:

Dim objJava
Set objJava = WScript.CreateObject("Prisoner.PrisonerControl")

但在 tstcon32 中是不可见的。

最佳答案

如果您阅读 the actual article使用 Prisoner.PrisonerControl 控件,一个名为 Control 的子键会在键中创建,并带有您的控件 GUID。

在我的机器上使用 guid {9DEA5F06-E324-31A7-837B-D0F3BDE91423} 创建 key

HKEY_CLASSES_ROOT\CLSID\{9DEA5F06-E324-31A7-837B-D0F3BDE91423}\Control

使控件出现在tstcon32中。不管有没有它,ActiveX 都可用于 javascript

var x = new ActiveXControl("Prisoner.PrisonerControl");

实际上,我不得不在 javascript 执行和注册表路径上与 Windows 作斗争,以便在我的系统上对其进行测试,因为它是 x64 机器,但这是另一回事了。

关于c# - 如何在 C# 中创建 ActiveX 控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7712815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com