.net - 如何在不注册的情况下在.NET(C#)中使用AutoItX

标签 .net autoit ocx registering

如何在.NET C#应用程序中使用AutoitX(OCX / ActiveX库)而不进行注册?

我想用它创建一个应用程序,而无需使用管理员权限进行安装。

我在MSDN上找到了一些页面,例如Registration-Free Activation of COM Components: A Walkthrough,它们为DLL文件创建 list 文件。我尝试了但没有成功。因此,可能是可能的,而我却错误地创建了它。不幸的是,我丢失了XML文件,因此无法在此处发布。

我还尝试设置隔离,并在引用属性中启用互操作类型,但没有成功。

是否可以使AutoItX在C#中运行而无需注册?如果是这样,我该怎么办?

我认为应该可以将它用作DLL,而不是OCX,但我不知道如何在C#中精确地做到这一点。

目前,我将其用作:

AutoItX3Lib.AutoItX3 autoit = new AutoItX3Lib.AutoItX3();
autoit.AutoItSetOption("WinTitleMatchMode", 2);

因此,如果我直接进行DLL调用,那我该怎么办呢?

最佳答案

在Visual Studio的C#项目中,只需转到引用->添加引用->浏览到AutoIt dll,就可以完成。无需单独注册。 但是必须使用此方法进行注册。

更好的方法是通过[DllImport]语句直接使用DLL。这是您可以使用的示例类:http://www.autoitscript.com/forum/topic/72905-c-use-of-the-dll-some-idears-for-you/

它定义了如下功能:

[DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
static public extern int AU3_MouseUp([MarshalAs(UnmanagedType.LPStr)] string Button);

关于.net - 如何在不注册的情况下在.NET(C#)中使用AutoItX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6810692/

相关文章:

c# - 内部类中接口(interface)的扩展方法

stdout - 同时捕获和显示 STDOUT

c++ - 如何从 C++ OCX 模块导出自定义类型名称?

用于 Java 8 的 JavaBeans ActiveX 桥?

flash - Flash OCX错误使IE6/7崩溃

c# - 在 C# 中获取部分字符串的正则表达式模式或算法

.net - C#。检查 Type 是否为 .NET Framework,而不是我自己的类型

c# - 将 60mb XML 文件导入 SQL

javascript - 可能的类似 Autoit 的 JavaScript 宏?