Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#应用程序使用AutoIt.dll问题_C#_Autoit C# Wrapper - Fatal编程技术网

C#应用程序使用AutoIt.dll问题

C#应用程序使用AutoIt.dll问题,c#,autoit-c#-wrapper,C#,Autoit C# Wrapper,我在C#应用程序中使用AutoIt dll从其他程序的活动窗口获取数据。在我编译此应用程序的计算机上,它工作正常,但当我尝试在其他计算机上运行它时,出现异常: System.Runtime.InteropServices.COMException(0x80040154):Pobranie Fabriki klasy COM dla składnika o identityfikatorze CLSID{1A671297-FA74-4422-80FA-6C5D8CE4DE04}nie powiod

我在C#应用程序中使用AutoIt dll从其他程序的活动窗口获取数据。在我编译此应用程序的计算机上,它工作正常,但当我尝试在其他计算机上运行它时,出现异常:

System.Runtime.InteropServices.COMException(0x80040154):Pobranie Fabriki klasy COM dla składnika o identityfikatorze CLSID{1A671297-FA74-4422-80FA-6C5D8CE4DE04}nie powiodło sięz powodu następującego będu 80040154 Klasa Niezarejowana。(Wyjątek od HRESULT:0x80040154(REGDB_Eąu CLASSNOTREG))

w System.RuntimeTypeHandle.CreateInstance(RuntimeType类型、布尔publicOnly、布尔noCheck、布尔与canBeCached、RuntimeMethodHandleInternal与ctor、布尔与bNeedSecurityCheck)
w System.RuntimeType.CreateInstanceSlow(布尔publicOnly、布尔skipCheckThis、布尔fillCache、StackScrawlMark和stackMark)
w System.RuntimeType.CreateInstanceDefaultCtor(布尔publicOnly、布尔skipCheckThis、布尔fillCache、StackScrawlMark和stackMark) w System.Activator.CreateInstance(类型,布尔非公共) w System.Activator.CreateInstance(类型) w GetFromGam.GetFromGamForm.receiveData() w GetFromGam.GetFromGamForm.receiveButton\单击(对象发送者,事件参数e) w System.Windows.Forms.Control.OnClick(EventArgs e) w System.Windows.Forms.Button.OnClick(EventArgs e) w System.Windows.Forms.Button.OnMouseUp(MouseEventArgs-mevent) w System.Windows.Forms.Control.WmMouseUp(消息&m,鼠标按钮,Int32点击) w System.Windows.Forms.Control.WndProc(Message&m) w System.Windows.Forms.ButtonBase.WndProc(Message&m) w System.Windows.Forms.Button.WndProc(Message&m) w System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&m) w System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&m) w System.Windows.Forms.NativeWindow.Callback(IntPtr-hWnd、Int32-msg、IntPtr-wparam、IntPtr-lparam)


在这种情况下会出现什么问题?

您试图在其上运行代码的计算机尚未注册AutoIt COM接口。以下内容来自AutoItX文档:

先使用COM接口,然后才能使用COM接口 AutoItX需要“注册”(当 您安装了AutoIt的完整版本,但可能需要这样做 如果单独使用AutoItX,请手动)

要注册COM接口,请执行以下操作:

  • 打开命令提示符

  • 将目录(使用CD)更改为包含AutoItX3.dll的目录

  • 键入regsvr32.exe AutoItX3.dll并按enter键

  • AutoItX控件的名称为AutoItX3.control


    您试图在其上运行代码的计算机尚未注册AutoIt COM接口。以下内容来自AutoItX文档:

    先使用COM接口,然后才能使用COM接口 AutoItX需要“注册”(当 您安装了AutoIt的完整版本,但可能需要这样做 如果单独使用AutoItX,请手动)

    要注册COM接口,请执行以下操作:

  • 打开命令提示符

  • 将目录(使用CD)更改为包含AutoItX3.dll的目录

  • 键入regsvr32.exe AutoItX3.dll并按enter键

  • AutoItX控件的名称为AutoItX3.control


    添加到正确答案-Visual Studio有一个现成的项目模板,用于为应用程序创建安装程序。这将允许您在安装例程中包含dll。因此,共享软件对收件人来说是一种愉快的体验。

    添加到正确答案中-Visual Studio有一个现成的项目模板来为您的应用程序创建安装程序。这将允许您在安装例程中包含dll。因此,共享软件对收件人来说是一种愉快的体验。

    我认为您可能需要从提升的命令提示符注册dll,或者看到以下问题:好的。所以,你能给我一点建议吗?如果我想分享我的申请,我该怎么办?我不需要手动更改任何值//最简单的方法可能是使用批处理文件来自动更改我认为您可能需要从提升的命令提示符注册dll,或者看到以下问题:好的。所以,你能给我一点建议吗?如果我想分享我的申请,我该怎么办?我不需要手动更改任何值//最简单的方法可能是使用批处理文件来自动更改